Package org.keycloak.broker.provider
Interface UserAuthenticationIdentityProvider<C extends IdentityProviderModel>
- All Superinterfaces:
IdentityProvider<C>,Provider
- All Known Subinterfaces:
SocialIdentityProvider<C>
- All Known Implementing Classes:
AbstractIdentityProvider,AbstractOAuth2IdentityProvider,BitbucketIdentityProvider,FacebookIdentityProvider,GitHubIdentityProvider,GitLabIdentityProvider,GoogleIdentityProvider,InstagramIdentityProvider,KeycloakOIDCIdentityProvider,LinkedInOIDCIdentityProvider,MicrosoftIdentityProvider,OAuth2IdentityProvider,OIDCIdentityProvider,OpenshiftV4IdentityProvider,PayPalIdentityProvider,SAMLIdentityProvider,StackoverflowIdentityProvider,TwitterIdentityProvider
public interface UserAuthenticationIdentityProvider<C extends IdentityProviderModel>
extends IdentityProvider<C>
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface -
Field Summary
Fields -
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, UserAuthenticationIdentityProvider.AuthenticationCallback callback, EventBuilder event) JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.Implementation 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.default booleanvoidupdateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) Methods inherited from interface org.keycloak.broker.provider.IdentityProvider
export, getConfig, isMapperSupported, reloadKeys
-
Field Details
-
EXTERNAL_IDENTITY_PROVIDER
- See Also:
-
FEDERATED_ACCESS_TOKEN
- See Also:
-
-
Method Details
-
preprocessFederatedIdentity
void preprocessFederatedIdentity(KeycloakSession session, RealmModel realm, BrokeredIdentityContext context) -
authenticationFinished
void authenticationFinished(AuthenticationSessionModel authSession, BrokeredIdentityContext context) -
importNewUser
void importNewUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) -
updateBrokeredUser
void updateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) -
callback
Object callback(RealmModel realm, UserAuthenticationIdentityProvider.AuthenticationCallback callback, EventBuilder event) JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.- Returns:
-
performLogin
Initiates the authentication process by sending an authentication request to an identity provider. This method is called only once during the authentication.
- Parameters:
request- The initial authentication request. Contains all the contextual information in order to build an authentication request to the identity provider.- Returns:
-
retrieveToken
Returns a
Responsecontaining the token previously stored during the authentication process for a specific user.- Parameters:
identity-- Returns:
-
backchannelLogout
void backchannelLogout(KeycloakSession session, UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, RealmModel realm) -
keycloakInitiatedBrowserLogout
jakarta.ws.rs.core.Response keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, RealmModel realm) Called when a Keycloak application initiates a logout through the browser. This is expected to do a logout with the IDP- Parameters:
userSession-uriInfo-realm-- Returns:
- null if this is not supported by this provider
-
getMarshaller
IdentityProviderDataMarshaller getMarshaller()Implementation of marshaller to serialize/deserialize attached data to Strings, which can be saved in clientSession- Returns:
-
supportsLongStateParameter
default boolean supportsLongStateParameter()- Returns:
- true if identity provider supports long value of "state" parameter (or "RelayState" parameter), which can hold relatively big amount of context data
-