From 790fb557db679fefde60006f2d948aa980769d9c Mon Sep 17 00:00:00 2001 From: Giuseppe Graziano Date: Thu, 18 Dec 2025 09:21:29 +0100 Subject: [PATCH] Limit access Token expiration for jwt authorization grant (#44775) Closes #43972 Signed-off-by: Giuseppe Graziano --- ...thorization-grant-oidc-provider-config.png | Bin 60944 -> 143132 bytes .../jwt-authorization-grant.adoc | 1 + .../admin/messages/messages_en.properties | 2 ++ ...JWTAuthorizationGrantAssertionSettings.tsx | 6 ++++++ .../JWTAuthorizationGrantProvider.java | 2 ++ .../JWTAuthorizationGrantConfig.java | 6 ++++++ ...JWTAuthorizationGrantIdentityProvider.java | 5 +++++ .../broker/oidc/OIDCIdentityProvider.java | 5 +++++ .../grants/JWTAuthorizationGrantType.java | 8 +++++++- .../oidc/grants/OAuth2GrantTypeBase.java | 18 ++++++++++++++---- .../AbstractJWTAuthorizationGrantTest.java | 17 +++++++++++++++++ ...BaseAbstractJWTAuthorizationGrantTest.java | 6 +++++- 12 files changed, 70 insertions(+), 6 deletions(-) diff --git a/docs/guides/images/jwt-authorization-grant-oidc-provider-config.png b/docs/guides/images/jwt-authorization-grant-oidc-provider-config.png index 908d1094a7cede9f654ee0061b36b572a43e5d82..6ec7f63a52451da89ccf8dc42044cba427899358 100644 GIT binary patch literal 143132 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

i@IbYFuX&Ft7vArLY3$d>Gp%P|I;*I) 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 literal 60944 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 diff --git a/docs/guides/securing-apps/jwt-authorization-grant.adoc b/docs/guides/securing-apps/jwt-authorization-grant.adoc index 6242e20c261..8856fe67336 100644 --- a/docs/guides/securing-apps/jwt-authorization-grant.adoc +++ b/docs/guides/securing-apps/jwt-authorization-grant.adoc @@ -58,6 +58,7 @@ The Identity Provider (both types commented in the introduction) needs to also b * **Max allowed assertion expiration**: The maximum expiration the server will allow in the assertion. Default 5 minutes. * **Assertion signature algorithm**: The signature algorithm that is valid for assertions. If not specified any signature is valid. * **Allowed clock skew**: Clock skew in seconds that is tolerated when validating identity provider tokens. Default value is zero. + * **Limit access token expiration**: If enabled the access token lifespan will be limited to the expiration of the JWT assertion but only if the JWT assertion expiration is less than the calculated access token expiration. .OIDC Identity Provider configuration for JWT Authorization Grant image::jwt-authorization-grant-oidc-provider-config.png[Identity Provider configuration for JWT Authorization Grant] diff --git a/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties b/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties index 9505cd06cac..496c9e5d914 100644 --- a/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties +++ b/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties @@ -906,6 +906,8 @@ jwtAuthorizationGrantMaxAllowedAssertionExpiration=Max allowed assertion expirat jwtAuthorizationGrantMaxAllowedAssertionExpirationHelp=Insert the max allowed expiration that the assertion can have. jwtAuthorizationGrantAssertionSignatureAlg=Assertion signature algorithm jwtAuthorizationGrantAssertionSignatureAlgHelp=Signature algorithm that should be used to sign the assertion, if not specified any signature algorithm will be valid. +jwtAuthorizationGrantLimitAccessTokenExp=Limit access token expiration +jwtAuthorizationGrantLimitAccessTokenExpHelp=If enabled the access token lifespan will be limited to the expiration of the JWT assertion but only if the JWT assertion expiration is less than the calculated access token expiration. addJWTAuthorizationGrantProvider=Add JWT Authorization Grant Provider jwtAuthorizationGrantJWKSUrl=JWKS URL jwtAuthorizationGrantJWKSUrlHelp=URL where identity provider keys in JWK format are stored. See the JWK specification for more details diff --git a/js/apps/admin-ui/src/identity-providers/add/JWTAuthorizationGrantAssertionSettings.tsx b/js/apps/admin-ui/src/identity-providers/add/JWTAuthorizationGrantAssertionSettings.tsx index abb213d4edb..6de607aca8d 100644 --- a/js/apps/admin-ui/src/identity-providers/add/JWTAuthorizationGrantAssertionSettings.tsx +++ b/js/apps/admin-ui/src/identity-providers/add/JWTAuthorizationGrantAssertionSettings.tsx @@ -58,6 +58,12 @@ export const JWTAuthorizationGrantAssertionSettings = () => { defaultValue: "", }} /> + ); }; diff --git a/server-spi-private/src/main/java/org/keycloak/broker/provider/JWTAuthorizationGrantProvider.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/JWTAuthorizationGrantProvider.java index e4fc644a999..b1d6178a3fd 100644 --- a/server-spi-private/src/main/java/org/keycloak/broker/provider/JWTAuthorizationGrantProvider.java +++ b/server-spi-private/src/main/java/org/keycloak/broker/provider/JWTAuthorizationGrantProvider.java @@ -36,4 +36,6 @@ public interface JWTAuthorizationGrantProvider int getMaxAllowedExpiration(); String getAssertionSignatureAlg(); + + boolean isLimitAccessTokenExpiration(); } diff --git a/services/src/main/java/org/keycloak/broker/jwtauthorizationgrant/JWTAuthorizationGrantConfig.java b/services/src/main/java/org/keycloak/broker/jwtauthorizationgrant/JWTAuthorizationGrantConfig.java index a57d689f26b..3a5dbc63c99 100644 --- a/services/src/main/java/org/keycloak/broker/jwtauthorizationgrant/JWTAuthorizationGrantConfig.java +++ b/services/src/main/java/org/keycloak/broker/jwtauthorizationgrant/JWTAuthorizationGrantConfig.java @@ -17,6 +17,8 @@ public interface JWTAuthorizationGrantConfig { String JWT_AUTHORIZATION_GRANT_ASSERTION_SIGNATURE_ALG = "jwtAuthorizationGrantAssertionSignatureAlg"; + String JWT_AUTHORIZATION_GRANT_LIMIT_ACCESS_TOKEN_EXP = "jwtAuthorizationGrantLimitAccessTokenExp"; + String JWT_AUTHORIZATION_GRANT_ALLOWED_CLOCK_SKEW = "jwtAuthorizationGrantAllowedClockSkew"; String PUBLIC_KEY_SIGNATURE_VERIFIER = "publicKeySignatureVerifier"; @@ -45,6 +47,10 @@ public interface JWTAuthorizationGrantConfig { return getConfig().get(JWT_AUTHORIZATION_GRANT_ASSERTION_SIGNATURE_ALG); } + default boolean isJwtAuthorizationGrantLimitAccessTokenExp() { + return Boolean.parseBoolean(getConfig().getOrDefault(JWT_AUTHORIZATION_GRANT_LIMIT_ACCESS_TOKEN_EXP, "false")); + } + default int getJWTAuthorizationGrantAllowedClockSkew() { String allowedClockSkew = getConfig().get(JWT_AUTHORIZATION_GRANT_ALLOWED_CLOCK_SKEW); if (allowedClockSkew == null || allowedClockSkew.isEmpty()) { diff --git a/services/src/main/java/org/keycloak/broker/jwtauthorizationgrant/JWTAuthorizationGrantIdentityProvider.java b/services/src/main/java/org/keycloak/broker/jwtauthorizationgrant/JWTAuthorizationGrantIdentityProvider.java index 900788fc921..08205796e5c 100644 --- a/services/src/main/java/org/keycloak/broker/jwtauthorizationgrant/JWTAuthorizationGrantIdentityProvider.java +++ b/services/src/main/java/org/keycloak/broker/jwtauthorizationgrant/JWTAuthorizationGrantIdentityProvider.java @@ -74,6 +74,11 @@ public class JWTAuthorizationGrantIdentityProvider implements JWTAuthorizationGr return StringUtil.isBlank(alg) ? null : alg; } + @Override + public boolean isLimitAccessTokenExpiration() { + return getConfig().isJwtAuthorizationGrantLimitAccessTokenExp(); + } + @Override public JWTAuthorizationGrantIdentityProviderConfig getConfig() { return this.config instanceof JWTAuthorizationGrantIdentityProviderConfig ? (JWTAuthorizationGrantIdentityProviderConfig)this.config : null; diff --git a/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java b/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java index 3ccf0f5d312..cd5e355aed6 100755 --- a/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java +++ b/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java @@ -1116,4 +1116,9 @@ public class OIDCIdentityProvider extends AbstractOAuth2IdentityProvider clientPolicyContextGenerator) { + protected TokenManager.AccessTokenResponseBuilder createTokenResponseBuilder(UserModel user, UserSessionModel userSession, ClientSessionContext clientSessionCtx, String scopeParam, Function clientPolicyContextGenerator) { clientSessionCtx.setAttribute(Constants.GRANT_TYPE, context.getGrantType()); AccessToken token = tokenManager.createClientAccessToken(session, realm, client, user, userSession, clientSessionCtx); TokenManager.AccessTokenResponseBuilder responseBuilder = tokenManager - .responseBuilder(realm, client, event, session, userSession, clientSessionCtx).accessToken(token); + .responseBuilder(realm, client, event, session, userSession, clientSessionCtx).accessToken(token); boolean useRefreshToken = useRefreshToken(); if (useRefreshToken) { responseBuilder.generateRefreshToken(); @@ -153,6 +152,10 @@ public abstract class OAuth2GrantTypeBase implements OAuth2GrantType { } } + return responseBuilder; + } + + protected Response createTokenResponse(TokenManager.AccessTokenResponseBuilder responseBuilder, ClientSessionContext clientSessionCtx, boolean code) { AccessTokenResponse res = null; if (code) { try { @@ -160,7 +163,7 @@ public abstract class OAuth2GrantTypeBase implements OAuth2GrantType { } catch (RuntimeException re) { if ("can not get encryption KEK".equals(re.getMessage())) { throw new CorsErrorResponseException(cors, OAuthErrorException.INVALID_REQUEST, - "can not get encryption KEK", Response.Status.BAD_REQUEST); + "can not get encryption KEK", Response.Status.BAD_REQUEST); } else { throw re; } @@ -177,6 +180,13 @@ public abstract class OAuth2GrantTypeBase implements OAuth2GrantType { return cors.add(Response.ok(res).type(MediaType.APPLICATION_JSON_TYPE)); } + protected Response createTokenResponse(UserModel user, UserSessionModel userSession, ClientSessionContext clientSessionCtx, + String scopeParam, boolean code, Function clientPolicyContextGenerator) { + TokenManager.AccessTokenResponseBuilder responseBuilder = createTokenResponseBuilder(user, userSession, + clientSessionCtx, scopeParam, clientPolicyContextGenerator); + return createTokenResponse(responseBuilder, clientSessionCtx, code); + } + protected void checkAndBindMtlsHoKToken(TokenManager.AccessTokenResponseBuilder responseBuilder, boolean useRefreshToken) { // KEYCLOAK-6771 Certificate Bound Token // https://tools.ietf.org/html/draft-ietf-oauth-mtls-08#section-3 diff --git a/tests/base/src/test/java/org/keycloak/tests/oauth/AbstractJWTAuthorizationGrantTest.java b/tests/base/src/test/java/org/keycloak/tests/oauth/AbstractJWTAuthorizationGrantTest.java index 71408feaa98..8878b288c81 100644 --- a/tests/base/src/test/java/org/keycloak/tests/oauth/AbstractJWTAuthorizationGrantTest.java +++ b/tests/base/src/test/java/org/keycloak/tests/oauth/AbstractJWTAuthorizationGrantTest.java @@ -78,6 +78,7 @@ public abstract class AbstractJWTAuthorizationGrantTest extends BaseAbstractJWTA //reduce max expiration to 10 seconds realm.updateIdentityProviderWithCleanup(IDP_ALIAS, rep -> { rep.getConfig().put(OIDCIdentityProviderConfig.JWT_AUTHORIZATION_GRANT_MAX_ALLOWED_ASSERTION_EXPIRATION, "10"); + rep.getConfig().put(OIDCIdentityProviderConfig.JWT_AUTHORIZATION_GRANT_LIMIT_ACCESS_TOKEN_EXP, "false"); }); jwt = getIdentityProvider().encodeToken(createAuthorizationGrantToken("basic-user-id", oAuthClient.getEndpoints().getIssuer(), IDP_ISSUER, Time.currentTime() + 11L)); @@ -275,6 +276,22 @@ public abstract class AbstractJWTAuthorizationGrantTest extends BaseAbstractJWTA } } + @Test + public void textLimitAccessTokenExpiration() { + realm.updateIdentityProviderWithCleanup(IDP_ALIAS, rep -> { + rep.getConfig().put(OIDCIdentityProviderConfig.JWT_AUTHORIZATION_GRANT_LIMIT_ACCESS_TOKEN_EXP, "true"); + }); + + int accessCodeLifeSpan = realm.admin().toRepresentation().getAccessTokenLifespan(); + String jwt = getIdentityProvider().encodeToken(createAuthorizationGrantToken(accessCodeLifeSpan)); + AccessTokenResponse response = oAuthClient.jwtAuthorizationGrantRequest(jwt).send(); + MatcherAssert.assertThat(response.getExpiresIn(), Matchers.allOf(Matchers.lessThanOrEqualTo(accessCodeLifeSpan), Matchers.greaterThan(accessCodeLifeSpan - 5))); + + jwt = getIdentityProvider().encodeToken(createAuthorizationGrantToken(120L)); + response = oAuthClient.jwtAuthorizationGrantRequest(jwt).send(); + MatcherAssert.assertThat(response.getExpiresIn(), Matchers.allOf(Matchers.lessThanOrEqualTo(120), Matchers.greaterThan(115))); + } + @Test public void testSuccessGrant() { String jwt = getIdentityProvider().encodeToken(createDefaultAuthorizationGrantToken()); diff --git a/tests/base/src/test/java/org/keycloak/tests/oauth/BaseAbstractJWTAuthorizationGrantTest.java b/tests/base/src/test/java/org/keycloak/tests/oauth/BaseAbstractJWTAuthorizationGrantTest.java index 5bcf5fcd626..41287e957ea 100644 --- a/tests/base/src/test/java/org/keycloak/tests/oauth/BaseAbstractJWTAuthorizationGrantTest.java +++ b/tests/base/src/test/java/org/keycloak/tests/oauth/BaseAbstractJWTAuthorizationGrantTest.java @@ -87,7 +87,11 @@ public class BaseAbstractJWTAuthorizationGrantTest { TimeOffSet timeOffSet; protected JsonWebToken createDefaultAuthorizationGrantToken() { - return createAuthorizationGrantToken("basic-user-id", oAuthClient.getEndpoints().getIssuer(), IDP_ISSUER, Time.currentTime() + 300L, null, null); + return createAuthorizationGrantToken("basic-user-id", oAuthClient.getEndpoints().getIssuer(), IDP_ISSUER, Time.currentTime() + 300L); + } + + protected JsonWebToken createAuthorizationGrantToken(long expiration) { + return createAuthorizationGrantToken("basic-user-id", oAuthClient.getEndpoints().getIssuer(), IDP_ISSUER, Time.currentTime() + expiration); } protected JsonWebToken createAuthorizationGrantToken(String subject, String audience, String issuer) {