Class V1TokenExchangeProvider
java.lang.Object
org.keycloak.protocol.oidc.tokenexchange.AbstractTokenExchangeProvider
org.keycloak.protocol.oidc.tokenexchange.V1TokenExchangeProvider
- All Implemented Interfaces:
org.keycloak.protocol.oidc.TokenExchangeProvider,org.keycloak.provider.Provider
V1 token exchange provider. Supports all token exchange types (standard, federated, subject impersonation)
- Author:
- Dmitry Telegin
-
Nested Class Summary
Nested classes/interfaces inherited from class org.keycloak.protocol.oidc.tokenexchange.AbstractTokenExchangeProvider
AbstractTokenExchangeProvider.ExternalExchangeContext -
Field Summary
Fields inherited from class org.keycloak.protocol.oidc.tokenexchange.AbstractTokenExchangeProvider
client, clientAuthAttributes, clientConnection, context, cors, event, formParams, headers, params, realm, session, tokenManager -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected jakarta.ws.rs.core.ResponseexchangeClientToOIDCClient(org.keycloak.models.UserModel targetUser, org.keycloak.models.UserSessionModel targetUserSession, String requestedTokenType, List<org.keycloak.models.ClientModel> targetAudienceClients, String scope, org.keycloak.representations.AccessToken subjectToken) protected jakarta.ws.rs.core.ResponseexchangeClientToSAML2Client(org.keycloak.models.UserModel targetUser, org.keycloak.models.UserSessionModel targetUserSession, String requestedTokenType, List<org.keycloak.models.ClientModel> targetAudienceClients) protected StringgetRequestedScope(org.keycloak.representations.AccessToken token, List<org.keycloak.models.ClientModel> targetAudienceClients) protected Stringprotected org.keycloak.models.ClientModelgetTargetClient(List<org.keycloak.models.ClientModel> targetAudienceClients) protected voidsetClientToContext(List<org.keycloak.models.ClientModel> targetAudienceClients) booleansupports(org.keycloak.protocol.oidc.TokenExchangeContext context) protected jakarta.ws.rs.core.Responseprotected voidvalidateAudience(org.keycloak.representations.AccessToken token, boolean disallowOnHolderOfTokenMismatch, List<org.keycloak.models.ClientModel> targetAudienceClients) Methods inherited from class org.keycloak.protocol.oidc.tokenexchange.AbstractTokenExchangeProvider
close, createSessionModel, exchange, exchangeClientToClient, exchangeExternalToken, exchangeToIdentityProvider, forbiddenIfClientIsNotTokenHolder, forbiddenIfClientIsNotWithinTokenAudience, getSubjectIssuer, getTargetAudienceClients, importUserFromExternalIdentity, isExternalInternalTokenExchangeRequest, locateExchangeExternalTokenByAlias, updateUserSessionFromClientAuth
-
Constructor Details
-
V1TokenExchangeProvider
public V1TokenExchangeProvider()
-
-
Method Details
-
supports
public boolean supports(org.keycloak.protocol.oidc.TokenExchangeContext context) -
tokenExchange
protected jakarta.ws.rs.core.Response tokenExchange()- Specified by:
tokenExchangein classAbstractTokenExchangeProvider
-
getRequestedTokenType
- Specified by:
getRequestedTokenTypein classAbstractTokenExchangeProvider
-
validateAudience
protected void validateAudience(org.keycloak.representations.AccessToken token, boolean disallowOnHolderOfTokenMismatch, List<org.keycloak.models.ClientModel> targetAudienceClients) - Specified by:
validateAudiencein classAbstractTokenExchangeProvider
-
getSupportedOAuthResponseTokenTypes
- Specified by:
getSupportedOAuthResponseTokenTypesin classAbstractTokenExchangeProvider
-
getRequestedScope
protected String getRequestedScope(org.keycloak.representations.AccessToken token, List<org.keycloak.models.ClientModel> targetAudienceClients) - Specified by:
getRequestedScopein classAbstractTokenExchangeProvider
-
setClientToContext
- Overrides:
setClientToContextin classAbstractTokenExchangeProvider
-
getTargetClient
protected org.keycloak.models.ClientModel getTargetClient(List<org.keycloak.models.ClientModel> targetAudienceClients) -
exchangeClientToOIDCClient
protected jakarta.ws.rs.core.Response exchangeClientToOIDCClient(org.keycloak.models.UserModel targetUser, org.keycloak.models.UserSessionModel targetUserSession, String requestedTokenType, List<org.keycloak.models.ClientModel> targetAudienceClients, String scope, org.keycloak.representations.AccessToken subjectToken) - Specified by:
exchangeClientToOIDCClientin classAbstractTokenExchangeProvider
-
exchangeClientToSAML2Client
protected jakarta.ws.rs.core.Response exchangeClientToSAML2Client(org.keycloak.models.UserModel targetUser, org.keycloak.models.UserSessionModel targetUserSession, String requestedTokenType, List<org.keycloak.models.ClientModel> targetAudienceClients) - Specified by:
exchangeClientToSAML2Clientin classAbstractTokenExchangeProvider
-