Class AbstractRefreshTokenProvider
java.lang.Object
org.keycloak.protocol.oidc.refresh.AbstractRefreshTokenProvider
- All Implemented Interfaces:
RefreshTokenProvider,Provider
- Direct Known Subclasses:
DefaultRefreshTokenProvider,OID4VCIRefreshTokenProvider
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidafterRefreshTokenGenerated(RefreshTokenContext ctx, TokenManager.AccessTokenResponseBuilder responseBuilder) Callback method invoked after refresh token is generatedprotected RefreshTokencreateRefreshToken(AccessToken accessToken, AccessToken.Confirmation confirmation, String provider) Invoked during refresh-token request.protected abstract TokenManager.TokenValidationvalidateToken(KeycloakSession session, jakarta.ws.rs.core.UriInfo uriInfo, ClientConnection connection, RealmModel realm, RefreshToken oldToken, jakarta.ws.rs.core.HttpHeaders headers, String scope, ClientModel client, TokenManager tokenManager, EventBuilder event) Validation specific to the particular refreshToken provider type.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.protocol.oidc.refresh.RefreshTokenProvider
close, generateRefreshToken, getProviderId, revokeToken, supports, supports
-
Field Details
-
session
-
-
Constructor Details
-
AbstractRefreshTokenProvider
-
-
Method Details
-
refreshAccessToken
public TokenManager.AccessTokenResponseBuilder refreshAccessToken(RefreshTokenContext ctx) throws OAuthErrorException Description copied from interface:RefreshTokenProviderInvoked during refresh-token request. Implements verifications related to old refresh token and creates token-response if all the verifications are successful- Specified by:
refreshAccessTokenin interfaceRefreshTokenProvider- Parameters:
ctx- Context, which contains old refresh token and some other data- Returns:
- successful token-response with new tokens and data, which would be returned in the successful token response
- Throws:
OAuthErrorException- In case that validation failed or some other issue happened during token refresh
-
validateToken
protected abstract TokenManager.TokenValidation validateToken(KeycloakSession session, jakarta.ws.rs.core.UriInfo uriInfo, ClientConnection connection, RealmModel realm, RefreshToken oldToken, jakarta.ws.rs.core.HttpHeaders headers, String scope, ClientModel client, TokenManager tokenManager, EventBuilder event) throws OAuthErrorException Validation specific to the particular refreshToken provider type. For example this could be validation if related user session still exists and is not expired etc.- Returns:
- token validation with successful context information
- Throws:
OAuthErrorException- In case that some validation failed
-
afterRefreshTokenGenerated
protected abstract void afterRefreshTokenGenerated(RefreshTokenContext ctx, TokenManager.AccessTokenResponseBuilder responseBuilder) Callback method invoked after refresh token is generated- Parameters:
ctx- contextresponseBuilder- response builder with already filled refresh token and client session context
-
createRefreshToken
protected RefreshToken createRefreshToken(AccessToken accessToken, AccessToken.Confirmation confirmation, String provider)
-