-
Notifications
You must be signed in to change notification settings - Fork 5
feat(keycloak): onboard Apply7 as an OIDC identity provider #5638
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
a987926
feat(keycloak): onboard Apply7 as an OIDC identity provider
shaidar d1c4cbb
feat(keycloak): map Apply7's customer_id/customer_name OIDC claims
shaidar 61eb29f
fix(keycloak): pass resource_options to the OIDC broker IdentityProvider
shaidar da9e429
docs(keycloak): fix onboard_oidc_org's None-return docstring
shaidar cf161be
fix(keycloak): stop misattributing OIDC IdP skip reason to URL access
shaidar 6daee1c
docs(keycloak): document Apply7's customerId/customerName semantics
shaidar df52315
docs(keycloak): make customerId/customerName a validated contract
shaidar b69c18a
fix(keycloak): enforce non-empty customerId as documented
shaidar 0ac7e21
Merge remote-tracking branch 'origin/main' into feat/apply7-oidc-idp
shaidar File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Verified this against
oidc_helpers.py:74-105: since noclient_secretis set for Apply7, and their discovery document listsprivate_key_jwtundertoken_endpoint_auth_methods_supported, this deploysclientAuthMethod: private_key_jwtwith an emptyclient_secret— not an unauthenticated config, you're right.This actually matches what Apply7 asked for in their original intake: "we will need MIT to provide the public certificate for certificate-based authentication. We will install the certificate..." — that certificate is our realm's JWKS, which is exactly what
private_key_jwtrequires them to validate our client assertions against. Same pattern as Masai School (see the comment on that block in olapps.py).So the code is doing the right thing if Apply7 actually configures their
mit-learnclient to validate against it. What's still needed before this can work end-to-end: sending Apply7 our production realm's JWKS URL (https://sso.ol.mit.edu/realms/olapps/protocol/openid-connect/certs) and confirming they've installed/configured it for private_key_jwt on their side — otherwise every token exchange fails withinvalid_client. That's a partner-coordination step, not a code change, so I'm leaving this open and adding it as a pre-merge checklist item on the PR rather than resolving it here.