-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use the cap/oidc library for OIDC based authentication #158
Conversation
Co-authored-by: Calvin Leung Huang <[email protected]>
Co-authored-by: Calvin Leung Huang <[email protected]>
When this is getting pretty close to being final can you please say so here? I would like to test it in my environment. |
Co-authored-by: Calvin Leung Huang <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried this with an azure setup and a user with 200 groups, and with namespaces and it still works 👍
@DrDaveD - You can go ahead and test this in your environment now. Please let me know if you find any regressions. I'm having a look at the PRs you've linked to see how this change may affect them. Will respond when I've gathered more context. |
@DrDaveD - I took a look at the PRs that you've linked to. I don't see the usage of cap/oidc in this plugin as something that will complicate (or simplify..) the changes in the PRs. I do know that those use cases are being considered as a part of continued development on cap/oidc, so I expect that supporting them will eventually be simplified. |
Description
This PR transitions the plugin to use the cap/oidc library for OIDC based authentication.
This PR also includes changes to force the Azure-specific handling of the groups overage claim to use the Microsoft Graph API instead of the deprecated Azure Active Directory (AAD) graph API. This change was necessary as a part of the transition, since it required behavior (requesting an additional access token) that's not exposed by cap/oidc.
Testing
All existing tests are passing against the changes in this PR.
I've manually tested OIDC authentication using the following identity providers:
I also tested that the
namespace_in_state
parameter works as expected.Additional Context
The cap/oidc library introduces a Request type that represents a single OIDC auth flow for a user. A
Request
is uniquely identified by a State. This PR includes changes to align terminology used in the plugin to that used in the cap/oidc library by renamingState
toRequest
in certain instances. I'm happy to consider alternatives or leave the naming unchanged in this plugin.Related Pull Requests