Package org.keycloak.broker.provider
Interface IdentityProvider<C extends IdentityProviderModel>
- 
- All Superinterfaces:
- Provider
 - All Known Subinterfaces:
- SocialIdentityProvider<C>
 - All Known Implementing Classes:
- AbstractIdentityProvider,- AbstractOAuth2IdentityProvider,- BitbucketIdentityProvider,- FacebookIdentityProvider,- GitHubIdentityProvider,- GitLabIdentityProvider,- GoogleIdentityProvider,- InstagramIdentityProvider,- KeycloakOIDCIdentityProvider,- LinkedInIdentityProvider,- MicrosoftIdentityProvider,- OIDCIdentityProvider,- OpenshiftV3IdentityProvider,- OpenshiftV4IdentityProvider,- PayPalIdentityProvider,- SAMLIdentityProvider,- StackoverflowIdentityProvider,- TwitterIdentityProvider
 
 public interface IdentityProvider<C extends IdentityProviderModel> extends Provider - Author:
- Pedro Igor
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Interface Description static interfaceIdentityProvider.AuthenticationCallback
 - 
Field SummaryFields Modifier and Type Field Description static StringEXTERNAL_IDENTITY_PROVIDERstatic StringFEDERATED_ACCESS_TOKEN
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description voidauthenticationFinished(AuthenticationSessionModel authSession, BrokeredIdentityContext context)voidbackchannelLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)Objectcallback(RealmModel realm, IdentityProvider.AuthenticationCallback callback, EventBuilder event)JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.javax.ws.rs.core.Responseexport(javax.ws.rs.core.UriInfo uriInfo, RealmModel realm, String format)Export a representation of the IdentityProvider in a specific format.IdentityProviderDataMarshallergetMarshaller()Implementation of marshaller to serialize/deserialize attached data to Strings, which can be saved in clientSessionvoidimportNewUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context)javax.ws.rs.core.ResponsekeycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)Called when a Keycloak application initiates a logout through the browser.javax.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)javax.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)
 
- 
- 
- 
Field Detail- 
EXTERNAL_IDENTITY_PROVIDERstatic final String EXTERNAL_IDENTITY_PROVIDER - See Also:
- Constant Field Values
 
 - 
FEDERATED_ACCESS_TOKENstatic final String FEDERATED_ACCESS_TOKEN - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
preprocessFederatedIdentityvoid preprocessFederatedIdentity(KeycloakSession session, RealmModel realm, BrokeredIdentityContext context) 
 - 
authenticationFinishedvoid authenticationFinished(AuthenticationSessionModel authSession, BrokeredIdentityContext context) 
 - 
importNewUservoid importNewUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) 
 - 
updateBrokeredUservoid updateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) 
 - 
callbackObject callback(RealmModel realm, IdentityProvider.AuthenticationCallback callback, EventBuilder event) JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.- Returns:
 
 - 
performLoginjavax.ws.rs.core.Response performLogin(AuthenticationRequest request) 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:
 
 - 
retrieveTokenjavax.ws.rs.core.Response retrieveToken(KeycloakSession session, FederatedIdentityModel identity) Returns a Responsecontaining the token previously stored during the authentication process for a specific user.- Parameters:
- identity-
- Returns:
 
 - 
backchannelLogoutvoid backchannelLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm) 
 - 
keycloakInitiatedBrowserLogoutjavax.ws.rs.core.Response keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, javax.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
 
 - 
exportjavax.ws.rs.core.Response export(javax.ws.rs.core.UriInfo uriInfo, RealmModel realm, String format)Export a representation of the IdentityProvider in a specific format. For example, a SAML EntityDescriptor- Returns:
 
 - 
getMarshallerIdentityProviderDataMarshaller getMarshaller() Implementation of marshaller to serialize/deserialize attached data to Strings, which can be saved in clientSession- Returns:
 
 
- 
 
-