Hello,
I’m trying to setup OpenID integration. Visiting my application’s site: https://es-odfe.company.ch the following occurs:
-
As expected, it is getting redirected to: https://auth.company.ch/auth/realms/company/protocol/openid-connect/auth?response_type=code&scope=openid&client_id=ites_odfe&state=GfHKZhreiLASPPK-T-4TvWKbASw&redirect_uri=https%3A%2F%2Fes-odfe.company.ch%2Fredirect_uri&nonce=q3BqB9fn5PUwGbl6xAa2an-jVfRDR8rUpNqJoo1PghU
-
After I successfully login, it is redirected to: https://es-odfe.company.ch/auth/openid/login?state=Vho1dF8owpE73xbyIsxJ2e&session_state=004d595d-4b17-47d4-b203-5a8a226420ad&code=19598e04-2fc6-4662-81d6-bdb2bf17cc23.004d595d-4b17-47d4a-b203-5a8a226420ad.9e88e343-d2e9-49d3-9196-b9041e025984
with a message of:
Not Found
The requested URL /auth/openid/login was not found on this server
Whatever I set on opendistro_security.openid.base_redirect_url
, it appends /auth/openid/login
endpoint and tries to connect there, as shown on the url of step 2. Not sure what this endpoint is and why it is getting redirected there. Note that Kibana is behind reverse proxy, that is why I need to setup openid.base_redirect_url
accordingly.
Relevant part of securityconfig/config.yml
authc:
basic_internal_auth_domain:
description: "Authenticate via HTTP Basic against internal users database"
http_enabled: true
transport_enabled: true
order: 0
http_authenticator:
type: basic
challenge: false
authentication_backend:
type: intern
openid_auth_domain:
http_enabled: true
transport_enabled: true
order: 1
http_authenticator:
type: openid
challenge: false
config:
subject_key: preferred_username
roles_key: default-role
openid_connect_url: https://auth.company.ch/auth/realms/company/.well-known/openid-configuration
authentication_backend:
type: noop
The kibana.yml
elasticsearch.hosts: https://localhost:9200
elasticsearch.password: kibanaserver
elasticsearch.requestHeadersWhitelist: ["securitytenant", "Authorization", "x-proxy-user", "cookie", "x-forwarded-for", "X-Api-key", "X-Forwarded-User", "X-Forwarded-For", "x-tenants-enabled"]
elasticsearch.requestTimeout: 600000
elasticsearch.ssl.verificationMode: none
elasticsearch.username: kibanaserver
logging.dest: /var/log/kibana/kibana.log
opendistro_security.cookie.secure: false
opendistro_security.multitenancy.enabled: true
opendistro_security.multitenancy.tenants.enable_global: true
opendistro_security.multitenancy.tenants.enable_private: true
opendistro_security.multitenancy.tenants.preferred: ["flights_space", "logs_space", "ecom_space", "Private", "Global"]
opendistro_security.auth.type: openid
opendistro_security.openid.base_redirect_url: https://es-odfe.company.ch
opendistro_security.openid.client_id: <the-client-id>
opendistro_security.openid.client_secret: <the-client-secret>
opendistro_security.openid.connect_url: https://auth.company.ch/auth/realms/company/.well-known/openid-configuration
opendistro_security.readonly_mode.roles: ["kibana_read_only"]
pid.file: /var/run/kibana/kibana.pid
server.basePath: /kibana
server.port: 5602
telemetry.enabled: false
telemetry.optIn: false
newsfeed.enabled: false
Please let me know if you have any ideas or pointers, thanks a lot in advance.
-Sokratis
PS. I have replaced my company with ‘company’ keyword on the above.