You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Signature verification of the id token (OIDC Core 3.1.3.7): the signature is checked against the JSON Web Key Set of the identity provider (RS/PS/ES families) or against the client secret (HS family), together with iss, aud/azp, exp/nbf/iat (60 s clock skew) and the nonce of the login. An id token which is present but invalid aborts the login. alg: none and unknown algorithms are rejected, and the algorithm determines the accepted key type, which rules out algorithm confusion; a crit header is rejected as well. New classes TokenVerifier, Jws, JwsAlgorithm, JwksClient, JwksProvider, JsonWebKeys — implemented with the crypto primitives of the JDK, so the plugin still has no runtime dependencies of its own.
Nonce per login: a fresh nonce is sent with every authorization request and checked in the id token, which binds the token to that very login and makes the replay of a foreign id token useless.
Roles are only imported from a verified access token. Signature, issuer and lifetime are checked; an opaque token, an invalid signature or a missing key set now means no roles instead of roles from unverified data. An anomaly of the access token costs the roles, not the login.
Nothing unverified is used anymore: an id token which cannot be verified is not stored either, so the sso logout then works without id_token_hint. The principal of the logout is taken from the access token cookie through the AccessTokenResolver of the core (signature and expiry checked) instead of parsing the token payload unverified; the helper JwtPayload is gone.
New configuration field jwksUrl for manually configured endpoints; with a discovery url the key set url and the issuer come from the document (jwks_uri, issuer).
The mail claim is no longer written to the log: if it is not a valid mail address, the message names the user id and the length of the value instead of the address itself (finding B-02 of the compliance report).