Skip to content

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

Closed
legrego wants to merge 2 commits intoelastic:7.xfrom
legrego:backport/7.x/pr-36201
Closed

[7.x] Add OpenID Connect auth provider (#36201)#36807
legrego wants to merge 2 commits intoelastic:7.xfrom
legrego:backport/7.x/pr-36201

Conversation

@legrego
Copy link
Member

@legrego legrego 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>
@legrego legrego added the backport This PR is a backport of another PR label May 21, 2019
@elasticmachine
Copy link
Contributor

💔 Build Failed

@legrego
Copy link
Member Author

legrego commented May 21, 2019

retest

@kobelb
Copy link
Contributor

kobelb commented May 21, 2019

retest

2 similar comments
@kobelb
Copy link
Contributor

kobelb commented May 21, 2019

retest

@kobelb
Copy link
Contributor

kobelb commented May 21, 2019

retest

@legrego
Copy link
Member Author

legrego commented May 21, 2019

Closing in favor of #36838, since Jenkins has been ignoring this PR

@legrego legrego closed this May 21, 2019
@legrego legrego deleted the backport/7.x/pr-36201 branch June 12, 2020 02:00
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