Package org.keycloak.protocol.oidc
Class TokenManager
- java.lang.Object
- 
- org.keycloak.protocol.oidc.TokenManager
 
- 
 public class TokenManager extends Object Stateless object that creates tokens and manages oauth access codes- Version:
- $Revision: 1 $
- Author:
- Bill Burke
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description classTokenManager.AccessTokenResponseBuilderstatic classTokenManager.NotBeforeCheckstatic classTokenManager.TokenRevocationCheckCheck if access token was revoked with OAuth revocation endpointstatic classTokenManager.TokenValidation
 - 
Constructor SummaryConstructors Constructor Description TokenManager()
 - 
Method Summary
 
- 
- 
- 
Method Detail- 
validateTokenpublic TokenManager.TokenValidation validateToken(KeycloakSession session, javax.ws.rs.core.UriInfo uriInfo, ClientConnection connection, RealmModel realm, RefreshToken oldToken, javax.ws.rs.core.HttpHeaders headers) throws OAuthErrorException - Throws:
- OAuthErrorException
 
 - 
checkTokenValidForIntrospectionpublic boolean checkTokenValidForIntrospection(KeycloakSession session, RealmModel realm, AccessToken token, boolean updateTimestamps) Checks if the token is valid. Optionally the session last refresh and client session timestamp are updated if the token was valid. This is used to keep the session alive when long lived tokens are used.- Parameters:
- session-
- realm-
- token-
- updateTimestamps-
- Returns:
 
 - 
lookupUserFromStatelessTokenpublic static UserModel lookupUserFromStatelessToken(KeycloakSession session, RealmModel realm, AccessToken token) Lookup user from the "stateless" token. Stateless token is the token without sessionState filled (token doesn't belong to any userSession)
 - 
refreshAccessTokenpublic TokenManager.AccessTokenResponseBuilder refreshAccessToken(KeycloakSession session, javax.ws.rs.core.UriInfo uriInfo, ClientConnection connection, RealmModel realm, ClientModel authorizedClient, String encodedRefreshToken, EventBuilder event, javax.ws.rs.core.HttpHeaders headers, HttpRequest request) throws OAuthErrorException - Throws:
- OAuthErrorException
 
 - 
verifyRefreshTokenpublic RefreshToken verifyRefreshToken(KeycloakSession session, RealmModel realm, ClientModel client, HttpRequest request, String encodedRefreshToken, boolean checkExpiration) throws OAuthErrorException - Throws:
- OAuthErrorException
 
 - 
toRefreshTokenpublic RefreshToken toRefreshToken(KeycloakSession session, String encodedRefreshToken) throws JWSInputException, OAuthErrorException - Throws:
- JWSInputException
- OAuthErrorException
 
 - 
verifyIDTokenpublic IDToken verifyIDToken(KeycloakSession session, RealmModel realm, String encodedIDToken) throws OAuthErrorException - Throws:
- OAuthErrorException
 
 - 
verifyIDTokenSignaturepublic IDToken verifyIDTokenSignature(KeycloakSession session, String encodedIDToken) throws OAuthErrorException - Throws:
- OAuthErrorException
 
 - 
createClientAccessTokenpublic AccessToken createClientAccessToken(KeycloakSession session, RealmModel realm, ClientModel client, UserModel user, UserSessionModel userSession, ClientSessionContext clientSessionCtx) 
 - 
attachAuthenticationSessionpublic static ClientSessionContext attachAuthenticationSession(KeycloakSession session, UserSessionModel userSession, AuthenticationSessionModel authSession) 
 - 
dettachClientSessionpublic static void dettachClientSession(AuthenticatedClientSessionModel clientSession) 
 - 
getAccesspublic static Set<RoleModel> getAccess(UserModel user, ClientModel client, Stream<ClientScopeModel> clientScopes) 
 - 
getRequestedClientScopespublic static Stream<ClientScopeModel> getRequestedClientScopes(String scopeParam, ClientModel client) Return client itself + all default client scopes of client + optional client scopes requested by scope parameter
 - 
isValidScopepublic static boolean isValidScope(String scopes, AuthorizationRequestContext authorizationRequestContext, ClientModel client) Check that all the ClientScopes that have been parsed into authorization_resources are actually in the requested scopes otherwise, the scope wasn't parsed correctly- Parameters:
- scopes-
- authorizationRequestContext-
- client-
- Returns:
 
 - 
isValidScopepublic static boolean isValidScope(String scopes, ClientModel client) 
 - 
verifyConsentStillAvailablepublic static boolean verifyConsentStillAvailable(KeycloakSession session, UserModel user, ClientModel client, Stream<ClientScopeModel> requestedClientScopes) 
 - 
transformAccessTokenpublic AccessToken transformAccessToken(KeycloakSession session, AccessToken token, UserSessionModel userSession, ClientSessionContext clientSessionCtx) 
 - 
transformAccessTokenResponsepublic AccessTokenResponse transformAccessTokenResponse(KeycloakSession session, AccessTokenResponse accessTokenResponse, UserSessionModel userSession, ClientSessionContext clientSessionCtx) 
 - 
transformUserInfoAccessTokenpublic AccessToken transformUserInfoAccessToken(KeycloakSession session, AccessToken token, UserSessionModel userSession, ClientSessionContext clientSessionCtx) 
 - 
generateUserInfoClaimspublic Map<String,Object> generateUserInfoClaims(AccessToken userInfo, UserModel userModel) 
 - 
transformIDTokenpublic void transformIDToken(KeycloakSession session, IDToken token, UserSessionModel userSession, ClientSessionContext clientSessionCtx) 
 - 
initTokenprotected AccessToken initToken(RealmModel realm, ClientModel client, UserModel user, UserSessionModel session, ClientSessionContext clientSessionCtx, javax.ws.rs.core.UriInfo uriInfo) 
 - 
responseBuilderpublic TokenManager.AccessTokenResponseBuilder responseBuilder(RealmModel realm, ClientModel client, EventBuilder event, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx) 
 - 
verifyLogoutTokenpublic LogoutTokenValidationCode verifyLogoutToken(KeycloakSession session, RealmModel realm, String encodedLogoutToken) 
 - 
toLogoutTokenpublic Optional<LogoutToken> toLogoutToken(String encodedLogoutToken) 
 - 
getValidOIDCIdentityProvidersForBackchannelLogoutpublic Stream<OIDCIdentityProvider> getValidOIDCIdentityProvidersForBackchannelLogout(RealmModel realm, KeycloakSession session, String encodedLogoutToken, LogoutToken logoutToken) 
 - 
validateLogoutTokenAgainstIdpProviderpublic Stream<OIDCIdentityProvider> validateLogoutTokenAgainstIdpProvider(Stream<OIDCIdentityProvider> oidcIdps, String encodedLogoutToken, LogoutToken logoutToken) 
 
- 
 
-