Skip to content
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

[Blocked] Return correct AAL value in user_info JWT #11027

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

lmgeorge
Copy link
Contributor

@lmgeorge lmgeorge commented Aug 2, 2024

🛠 Summary of changes

Why

How

  • Map the ServiceProvider.default_aal value to a known ACR value using a new method (AuthnContextResolver.asserted_aal_value)
  • Ensure the new asserted AAL ACR value is used as a fallback in the OpenidConnectUserInfoPresenter and OpenidConnectAuthorizeForm so that the JWT built by IdTokenBuilder is correct and doesn't overwrite pre-existing data.

changelog: Bug Fixes, OIDC Authentication, Return correct AAL in JWT

🎫 Ticket

Link to the relevant ticket: https://gitlab.login.gov/lg-people/lg-people-appdev/Melba/backlog-fy24/-/issues/55

📜 Testing Plan

Provide a checklist of steps to confirm the changes.

  1. Navigate to https://int-identity-oidc-sinatra.app.cloud.gov/
  2. Select "Identity-verified" from the level of service drop down
  3. Click "Sign in"
  4. Go through the test verification process

@lmgeorge lmgeorge force-pushed the lmgeorge/fix-aal-assertion-in-jwt branch 2 times, most recently from 263c27f to 6d874ee Compare August 7, 2024 16:13
@lmgeorge lmgeorge changed the title Return correct AAL value in user_info JWT [DO NOT REVIEW] Return correct AAL value in user_info JWT Aug 7, 2024
@lmgeorge lmgeorge force-pushed the lmgeorge/fix-aal-assertion-in-jwt branch from 1172ea4 to 5bb8e3f Compare August 7, 2024 23:54
@lmgeorge lmgeorge changed the title [DO NOT REVIEW] Return correct AAL value in user_info JWT [Blocked] Return correct AAL value in user_info JWT Aug 8, 2024
@lmgeorge
Copy link
Contributor Author

lmgeorge commented Aug 8, 2024

Currently blocked while business rules around how default AAL values should be resolved are formalized.

**Why**

* When no AAL ACR value is selected and the SP requires a higher default
  AAL level or the request demands identity proofing, the user_info
  block should return the correct AAL ACR value instead of the default
  AAL ACR
* Resolves https://gitlab.login.gov/lg-people/lg-people-appdev/Melba/backlog-fy24/-/issues/55

**How**
* Map the ServiceProvider.default_aal value to a known ACR value using
  a new method (AuthnContextResolver.asserted_aal_value)
* Ensure the new asserted AAL ACR value is used as a fallback in the
  OpenidConnectUserInfoPresenter and OpenidConnectAuthorizeForm so that
  the JWT built by IdTokenBuilder is correct and doesn't overwrite
  pre-existing data.

changelog: Bug Fixes, OIDC Authentication, Return correct AAL in JWT
@lmgeorge lmgeorge force-pushed the lmgeorge/fix-aal-assertion-in-jwt branch from 9098ca6 to 3d0070f Compare September 16, 2024 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Authentication Context Reference (ACR) implementation does not follow standard practices
2 participants