Releases: thorsten-l/scm-oauth2-plugin
Releases · thorsten-l/scm-oauth2-plugin
Release list
v1.0.2
Security
- 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/ESfamilies) or against the client secret (HSfamily), together withiss,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: noneand unknown algorithms are rejected, and the algorithm determines the accepted key type, which rules out algorithm confusion; acritheader is rejected as well. New classesTokenVerifier,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 theAccessTokenResolverof the core (signature and expiry checked) instead of parsing the token payload unverified; the helperJwtPayloadis gone. - New configuration field
jwksUrlfor 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).