fix: bind OIDC token claims to the logged-in user and keep the session ID stable #15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/oidc-jwt-token"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
sub(the user's uuid) andsidinstead of the hard-coded placeholders. E-mail address and role are not part of the tokens, they are delivered by the UserInfo endpoint.sidis the SHA-256 (base64url, no padding) of the session ID after the first login step. It is created once per session and kept in the verification token object, so it does not change when a later login step-up replaces the session id.sidof their ID token in an own column, so logout deletes them with one query instead of parsing every authorization.OidcLogoutHandler: it read the user fromgetDetails(), but insteadgetPrincipal()should be used, becausegetDetails()is only relevant to keep token information during step-up authentication, so it doesn't reflect the newest user token state and may be null.Why
sidto match security events and logout to a single device, and logout must remove exactly the authorizations of that session.Tests
OidcJWTTest(8),OidcLogoutHandlerTest(4),OidcAuthorizationServiceTest(1).