Class ExternalToInternalTokenExchangeProvider
java.lang.Object
org.keycloak.protocol.oidc.tokenexchange.AbstractTokenExchangeProvider
org.keycloak.protocol.oidc.tokenexchange.V1TokenExchangeProvider
org.keycloak.protocol.oidc.tokenexchange.ExternalToInternalTokenExchangeProvider
- All Implemented Interfaces:
TokenExchangeProvider
,Provider
Provider for external-internal token exchange
TODO Should not extend from V1TokenExchangeProvider, but rather AbstractTokenExchangeProvider or from StandardTokenExchangeProvider (as issuing internal tokens might be done in a same/similar way like for standard V2 provider)
- Author:
- Marek Posolda
-
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 TypeMethodDescriptionint
boolean
supports
(TokenExchangeContext context) Check if exchange request is supported by this providerprotected jakarta.ws.rs.core.Response
Methods inherited from class org.keycloak.protocol.oidc.tokenexchange.V1TokenExchangeProvider
exchangeClientToOIDCClient, exchangeClientToSAML2Client, getRequestedScope, getRequestedTokenType, getSupportedOAuthResponseTokenTypes, getTargetClient, setClientToContext, validateAudience
Methods inherited from class org.keycloak.protocol.oidc.tokenexchange.AbstractTokenExchangeProvider
close, createSessionModel, exchange, exchangeClientToClient, exchangeExternalToken, exchangeToIdentityProvider, forbiddenIfClientIsNotTokenHolder, forbiddenIfClientIsNotWithinTokenAudience, getSubjectIssuer, getTargetAudienceClients, importUserFromExternalIdentity, isExternalInternalTokenExchangeRequest, updateUserSessionFromClientAuth
-
Constructor Details
-
ExternalToInternalTokenExchangeProvider
public ExternalToInternalTokenExchangeProvider()
-
-
Method Details
-
supports
Description copied from interface:TokenExchangeProvider
Check if exchange request is supported by this provider- Specified by:
supports
in interfaceTokenExchangeProvider
- Overrides:
supports
in classV1TokenExchangeProvider
- Parameters:
context
- token exchange context- Returns:
- true if the request is supported
-
getVersion
public int getVersion()- Specified by:
getVersion
in interfaceTokenExchangeProvider
- Overrides:
getVersion
in classV1TokenExchangeProvider
- Returns:
- version of the token-exchange provider. Could be useful by various components (like for example identity-providers), which need to interact with the token-exchange provider to doublecheck if it should have a "legacy" behaviour (for older version of token-exchange provider) or a "new" behaviour
-
tokenExchange
protected jakarta.ws.rs.core.Response tokenExchange()- Overrides:
tokenExchange
in classV1TokenExchangeProvider
-