SDL Docs provides IQ Index Service to index the published content into Elastic Search. All we need to do is to install and configure the micro-service. As per the documentation The service has the following Security Configuration to interact with Elastic.
Parameter
|
Description
|
---|---|
en.host |
The name of the host on which your Elasticsearch instance runs |
es.port |
The number of the port on which your Elasticsearch instance runs |
es.username |
If the Elasticsearch instance is secured, the name of a user who can access the Elasticsearch instance |
es.password |
If the Elasticsearch instance is secured, the password of the user above |
es.ingest.username |
If you connect to the Elasticsearch instance through Basic Authentication (typically to connect to an external Elasticsearch like Elastic Cloud), the name of a user who can access the Elasticsearch ingest node |
es.ingest.password |
If you connect to the Elasticsearch instance through Basic Authentication, the password of the user above |
In our case we have an Elasticsearch instance which is only accessible through an endpoint authenticated with OAuth (Which is token based). With the above configuration options though, It looks like it does not support the OAuth (token based authentication).
Question: Does anyone know how to connect the IQ Index Service to Elasticsearch Endpoint authenticated with OAuth?
Next Steps:
As a workaround, I will be introducing a proxy between IQ service and Elastic Endpoint. The Proxy will first get the OAuth Token, talk to Elastic Endpoint using the token and send back the response to IQ Service.