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.
This PR adds an implementation of OpenID Connect Session Management 1.0 to the Contruum sample. This works by issuing a cookie containing a random session ID on login, and using that to calculate a suitable
session_state
value (based on the example in the spec) in the OIDC authorize response. It also adds aconnect/checksession
page and sets it in the discovery document'scheck_session_iframe
property.Because this uses cookies, it requires either:
This could theoretically be extended to use the Storage Access API to work fully in third-party contexts as long as the end-user approves access, although I have no plans to explore this avenue further because it's not required for my use-case.
With this change, I've verified that we can successfully run the
OpenID Connect Core: Session Management Certification Profile Authorization server test
profile in the OIDC certification suite, (which is why I put it in Contruum)Misc. changes in this PR:
rty:
permissions for hybrid flows without them being enabled on the serverconnect/checksession
to avoid confusing it with the existingconnect/signout
endpoint which has nothing to do with OIDC and is purely concerned with signing the user out of their cookie auth