public abstract class AbstractIdentityProvider<C extends IdentityProviderModel> extends Object implements IdentityProvider<C>
IdentityProvider.AuthenticationCallback
Modifier and Type | Field and Description |
---|---|
static String |
ACCOUNT_LINK_URL |
protected KeycloakSession |
session |
EXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN
Constructor and Description |
---|
AbstractIdentityProvider(KeycloakSession session,
C config) |
Modifier and Type | Method and Description |
---|---|
void |
authenticationFinished(AuthenticationSessionModel authSession,
BrokeredIdentityContext context) |
void |
backchannelLogout(KeycloakSession session,
UserSessionModel userSession,
javax.ws.rs.core.UriInfo uriInfo,
RealmModel realm) |
Object |
callback(RealmModel realm,
IdentityProvider.AuthenticationCallback callback,
EventBuilder event)
JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.
|
void |
close() |
protected javax.ws.rs.core.Response |
exchangeErrorResponse(javax.ws.rs.core.UriInfo uriInfo,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
String errorCode,
String reason) |
javax.ws.rs.core.Response |
exchangeNotLinked(javax.ws.rs.core.UriInfo uriInfo,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject) |
javax.ws.rs.core.Response |
exchangeNotLinkedNoStore(javax.ws.rs.core.UriInfo uriInfo,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject) |
javax.ws.rs.core.Response |
exchangeNotSupported() |
javax.ws.rs.core.Response |
exchangeTokenExpired(javax.ws.rs.core.UriInfo uriInfo,
ClientModel authorizedClient,
UserSessionModel tokenUserSession,
UserModel tokenSubject) |
javax.ws.rs.core.Response |
exchangeUnsupportedRequiredType() |
javax.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.
|
C |
getConfig() |
protected String |
getLinkingUrl(javax.ws.rs.core.UriInfo uriInfo,
ClientModel authorizedClient,
UserSessionModel tokenUserSession) |
IdentityProviderDataMarshaller |
getMarshaller()
Implementation of marshaller to serialize/deserialize attached data to Strings, which can be saved in clientSession
|
void |
importNewUser(KeycloakSession session,
RealmModel realm,
UserModel user,
BrokeredIdentityContext context) |
javax.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.
|
javax.ws.rs.core.Response |
performLogin(AuthenticationRequest request)
Initiates the authentication process by sending an authentication request to an identity provider.
|
void |
preprocessFederatedIdentity(KeycloakSession session,
RealmModel realm,
BrokeredIdentityContext context) |
void |
updateBrokeredUser(KeycloakSession session,
RealmModel realm,
UserModel user,
BrokeredIdentityContext context) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
retrieveToken
public static final String ACCOUNT_LINK_URL
protected final KeycloakSession session
public AbstractIdentityProvider(KeycloakSession session, C config)
public C getConfig()
public javax.ws.rs.core.Response export(javax.ws.rs.core.UriInfo uriInfo, RealmModel realm, String format)
IdentityProvider
export
in interface IdentityProvider<C extends IdentityProviderModel>
public Object callback(RealmModel realm, IdentityProvider.AuthenticationCallback callback, EventBuilder event)
IdentityProvider
callback
in interface IdentityProvider<C extends IdentityProviderModel>
public javax.ws.rs.core.Response performLogin(AuthenticationRequest request)
IdentityProvider
Initiates the authentication process by sending an authentication request to an identity provider. This method is called only once during the authentication.
performLogin
in interface IdentityProvider<C extends IdentityProviderModel>
request
- The initial authentication request. Contains all the contextual information in order to build an authentication request to the
identity provider.public javax.ws.rs.core.Response keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)
IdentityProvider
keycloakInitiatedBrowserLogout
in interface IdentityProvider<C extends IdentityProviderModel>
public void backchannelLogout(KeycloakSession session, UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, RealmModel realm)
backchannelLogout
in interface IdentityProvider<C extends IdentityProviderModel>
public javax.ws.rs.core.Response exchangeNotSupported()
public javax.ws.rs.core.Response exchangeNotLinked(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)
public javax.ws.rs.core.Response exchangeNotLinkedNoStore(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)
protected javax.ws.rs.core.Response exchangeErrorResponse(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, String errorCode, String reason)
protected String getLinkingUrl(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession)
public javax.ws.rs.core.Response exchangeTokenExpired(javax.ws.rs.core.UriInfo uriInfo, ClientModel authorizedClient, UserSessionModel tokenUserSession, UserModel tokenSubject)
public javax.ws.rs.core.Response exchangeUnsupportedRequiredType()
public void authenticationFinished(AuthenticationSessionModel authSession, BrokeredIdentityContext context)
authenticationFinished
in interface IdentityProvider<C extends IdentityProviderModel>
public void preprocessFederatedIdentity(KeycloakSession session, RealmModel realm, BrokeredIdentityContext context)
preprocessFederatedIdentity
in interface IdentityProvider<C extends IdentityProviderModel>
public void importNewUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context)
importNewUser
in interface IdentityProvider<C extends IdentityProviderModel>
public void updateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context)
updateBrokeredUser
in interface IdentityProvider<C extends IdentityProviderModel>
public IdentityProviderDataMarshaller getMarshaller()
IdentityProvider
getMarshaller
in interface IdentityProvider<C extends IdentityProviderModel>
Copyright © 2020 JBoss by Red Hat. All rights reserved.