Package org.keycloak.broker.kubernetes
Class KubernetesIdentityProvider
java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProvider<C>
org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider<OIDCIdentityProviderConfig>
org.keycloak.broker.oidc.OIDCIdentityProvider
org.keycloak.broker.kubernetes.KubernetesIdentityProvider
- All Implemented Interfaces:
ClientAssertionIdentityProvider,ExchangeExternalToken,ExchangeTokenToIdentityProviderToken,IdentityProvider<OIDCIdentityProviderConfig>,Provider
-
Nested Class Summary
Nested classes/interfaces inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider
OIDCIdentityProvider.OIDCEndpointNested classes/interfaces inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
AbstractOAuth2IdentityProvider.Endpoint, AbstractOAuth2IdentityProvider.OAuthResponseNested classes/interfaces inherited from interface org.keycloak.broker.provider.IdentityProvider
IdentityProvider.AuthenticationCallback -
Field Summary
Fields inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider
EXCHANGE_PROVIDER, FEDERATED_ACCESS_TOKEN_RESPONSE, FEDERATED_ID_TOKEN, logger, SCOPE_OPENID, USER_INFO, VALIDATED_ACCESS_TOKEN, VALIDATED_ID_TOKENFields inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
ACCESS_DENIED, ACCESS_TOKEN_EXPIRATION, FEDERATED_REFRESH_TOKEN, FEDERATED_TOKEN_EXPIRATION, mapper, OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE, OAUTH2_GRANT_TYPE_REFRESH_TOKEN, OAUTH2_PARAMETER_ACCESS_TOKEN, OAUTH2_PARAMETER_CLIENT_ID, OAUTH2_PARAMETER_CLIENT_SECRET, OAUTH2_PARAMETER_CODE, OAUTH2_PARAMETER_GRANT_TYPE, OAUTH2_PARAMETER_REDIRECT_URI, OAUTH2_PARAMETER_RESPONSE_TYPE, OAUTH2_PARAMETER_SCOPE, OAUTH2_PARAMETER_STATEFields inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
ACCOUNT_LINK_URL, BROKER_REGISTERED_NEW_USER, session, UPDATE_PROFILE_EMAIL_CHANGED, UPDATE_PROFILE_USERNAME_CHANGEDFields inherited from interface org.keycloak.broker.provider.IdentityProvider
EXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN -
Constructor Summary
ConstructorsConstructorDescriptionKubernetesIdentityProvider(KeycloakSession session, KubernetesIdentityProviderConfig config, String globalJwksUrl) -
Method Summary
Modifier and TypeMethodDescriptionvoidauthenticationFinished(AuthenticationSessionModel authSession, BrokeredIdentityContext context) voidbackchannelLogout(KeycloakSession session, UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, RealmModel realm) callback(RealmModel realm, IdentityProvider.AuthenticationCallback callback, EventBuilder event) JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.jakarta.ws.rs.core.Responseexport(jakarta.ws.rs.core.UriInfo uriInfo, RealmModel realm, String format) Export a representation of the IdentityProvider in a specific format.protected KeyWrapperImplementation of marshaller to serialize/deserialize attached data to Strings, which can be saved in clientSessionvoidimportNewUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) jakarta.ws.rs.core.ResponsekeycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, RealmModel realm) Called when a Keycloak application initiates a logout through the browser.jakarta.ws.rs.core.ResponseperformLogin(AuthenticationRequest request) Initiates the authentication process by sending an authentication request to an identity provider.voidpreprocessFederatedIdentity(KeycloakSession session, RealmModel realm, BrokeredIdentityContext context) jakarta.ws.rs.core.ResponseretrieveToken(KeycloakSession session, FederatedIdentityModel identity) Returns aResponsecontaining the token previously stored during the authentication process for a specific user.voidupdateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) Methods inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider
backchannelLogout, createAuthorizationUrl, exchangeExternalTokenV1Impl, exchangeExternalTokenV2Impl, exchangeSessionToken, exchangeStoredToken, extractIdentity, extractIdentityFromProfile, getDefaultScopes, getFederatedIdentity, getProfileEndpointForValidation, getUserInfoUrl, getusernameClaimNameForIdToken, getUsernameFromUserInfo, isAuthTimeExpired, isIssuer, isTokenTypeSupported, parseTokenInput, processAccessTokenResponse, refreshTokenForLogout, reloadKeys, setEmailVerified, supportsExternalExchange, validateExternalTokenThroughUserInfo, validateJwt, validateToken, validateToken, verify, verifyClientAssertionMethods inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
asJsonNode, authenticateTokenRequest, buildUserInfoRequest, doGetFederatedIdentity, exchangeExternal, exchangeExternalComplete, exchangeExternalUserInfoValidationOnly, exchangeFromToken, extractTokenFromResponse, generateToken, getAccessTokenResponseParameter, getConfig, getJsonProperty, getRefreshTokenRequest, getSignatureContext, hasExternalExchangeToken, sendTokenIntrospectionRequest, supportsLongStateParameter, validateExternalTokenWithIntrospectionEndpointMethods inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, getLinkingUrl, updateEmailMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.broker.provider.ExchangeExternalToken
exchangeExternal, exchangeExternalCompleteMethods inherited from interface org.keycloak.broker.provider.IdentityProvider
isMapperSupported
-
Constructor Details
-
KubernetesIdentityProvider
public KubernetesIdentityProvider(KeycloakSession session, KubernetesIdentityProviderConfig config, String globalJwksUrl)
-
-
Method Details
-
getIdentityProviderKeyWrapper
- Overrides:
getIdentityProviderKeyWrapperin classOIDCIdentityProvider
-
preprocessFederatedIdentity
public void preprocessFederatedIdentity(KeycloakSession session, RealmModel realm, BrokeredIdentityContext context) - Specified by:
preprocessFederatedIdentityin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
preprocessFederatedIdentityin classOIDCIdentityProvider
-
authenticationFinished
public void authenticationFinished(AuthenticationSessionModel authSession, BrokeredIdentityContext context) - Specified by:
authenticationFinishedin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
authenticationFinishedin classOIDCIdentityProvider
-
importNewUser
public void importNewUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) - Specified by:
importNewUserin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
importNewUserin classAbstractIdentityProvider<OIDCIdentityProviderConfig>
-
updateBrokeredUser
public void updateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) - Specified by:
updateBrokeredUserin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
updateBrokeredUserin classAbstractIdentityProvider<OIDCIdentityProviderConfig>
-
callback
public Object callback(RealmModel realm, IdentityProvider.AuthenticationCallback callback, EventBuilder event) Description copied from interface:IdentityProviderJAXRS callback endpoint for when the remote IDP wants to callback to keycloak.- Specified by:
callbackin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
callbackin classOIDCIdentityProvider- Returns:
-
performLogin
Description copied from interface:IdentityProviderInitiates the authentication process by sending an authentication request to an identity provider. This method is called only once during the authentication.
- Specified by:
performLoginin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
performLoginin classAbstractOAuth2IdentityProvider<OIDCIdentityProviderConfig>- Parameters:
request- The initial authentication request. Contains all the contextual information in order to build an authentication request to the identity provider.- Returns:
-
retrieveToken
public jakarta.ws.rs.core.Response retrieveToken(KeycloakSession session, FederatedIdentityModel identity) Description copied from interface:IdentityProviderReturns a
Responsecontaining the token previously stored during the authentication process for a specific user.- Specified by:
retrieveTokenin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
retrieveTokenin classAbstractOAuth2IdentityProvider<OIDCIdentityProviderConfig>- Returns:
-
backchannelLogout
public void backchannelLogout(KeycloakSession session, UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, RealmModel realm) - Specified by:
backchannelLogoutin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
backchannelLogoutin classOIDCIdentityProvider
-
keycloakInitiatedBrowserLogout
public jakarta.ws.rs.core.Response keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, RealmModel realm) Description copied from interface:IdentityProviderCalled when a Keycloak application initiates a logout through the browser. This is expected to do a logout with the IDP- Specified by:
keycloakInitiatedBrowserLogoutin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
keycloakInitiatedBrowserLogoutin classOIDCIdentityProvider- Returns:
- null if this is not supported by this provider
-
export
public jakarta.ws.rs.core.Response export(jakarta.ws.rs.core.UriInfo uriInfo, RealmModel realm, String format) Description copied from interface:IdentityProviderExport a representation of the IdentityProvider in a specific format. For example, a SAML EntityDescriptor- Specified by:
exportin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
exportin classAbstractIdentityProvider<OIDCIdentityProviderConfig>- Returns:
-
getMarshaller
Description copied from interface:IdentityProviderImplementation of marshaller to serialize/deserialize attached data to Strings, which can be saved in clientSession- Specified by:
getMarshallerin interfaceIdentityProvider<OIDCIdentityProviderConfig>- Overrides:
getMarshallerin classAbstractIdentityProvider<OIDCIdentityProviderConfig>- Returns:
-