Skip to content

[7.x] Add OpenID Connect auth provider (#36201)#36838

Merged
legrego merged 1 commit intoelastic:7.xfrom
kobelb:backport/7.x/pr-36201
May 22, 2019
Merged

[7.x] Add OpenID Connect auth provider (#36201)#36838
legrego merged 1 commit intoelastic:7.xfrom
kobelb:backport/7.x/pr-36201

Conversation

@kobelb
Copy link
Contributor

@kobelb kobelb commented May 21, 2019

Backports the following commits to 7.x:

The OpenID Connect authProvider is the accompanying authProvider for the OpenID Connect authentication realm in Elasticsearch. This is very similar to the saml authProvider in most ways with three noticeable differences:

- We require explicit configuration regarding the Elasticsearch realm name instead of trying to build an environment aware string (like ACS URL in saml) and pass that to Elasticsearch for it to resolve the realm.
- We do not support multiple values for the realm specific nonces (state and nonce) as we do with requestId in the SAML realm. Instead if an existing value ( for state and nonce) is present in the user's session, we pass that to Elasticsearch to be reused. The end goal is the same, allow a better UX for users attempting many requests over different tabs in the same browser context.
- IDP initiated SSO ( Third Party initiated authentication in OIDC-speak ) is implemented but starts as an unsolicited request to initiate the handshake, instead of an unsolicited request with an authentication response (which is not supported here)

This change also adds a fake plugin named oidc_provider to be used in integration tests for mocking calls to the token and userinfo endpoint of an OpenID Connect Provider

This does not support the OpenID Connect Implicit flow as that depends on fragment handling/processing as described for instance in the spec

Co-Authored-By: Brandon Kobel <kobelb@elastic.co>
@kobelb kobelb added the backport This PR is a backport of another PR label May 21, 2019
@kobelb
Copy link
Contributor Author

kobelb commented May 21, 2019

retest

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@legrego legrego merged commit 1b4f6e0 into elastic:7.x May 22, 2019
@kobelb kobelb deleted the backport/7.x/pr-36201 branch May 22, 2019 02:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a backport of another PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants