Skip to content

Releases: thorsten-l/scm-oauth2-plugin

Release list

v1.0.2

Choose a tag to compare

@thorsten-l thorsten-l released this 17 Aug 16:49

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/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).

v1.0.1

Choose a tag to compare

@thorsten-l thorsten-l released this 09 Aug 18:38

First release