Package org.keycloak.broker.provider
Interface UserAuthenticationIdentityProvider<C extends org.keycloak.models.IdentityProviderModel>
- All Superinterfaces:
IdentityProvider<C>,org.keycloak.provider.Provider
- All Known Subinterfaces:
SocialIdentityProvider<C>
- All Known Implementing Classes:
AbstractIdentityProvider
public interface UserAuthenticationIdentityProvider<C extends org.keycloak.models.IdentityProviderModel>
extends IdentityProvider<C>
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidauthenticationFinished(org.keycloak.sessions.AuthenticationSessionModel authSession, BrokeredIdentityContext context) voidbackchannelLogout(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm) callback(org.keycloak.models.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(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, BrokeredIdentityContext context) jakarta.ws.rs.core.ResponsekeycloakInitiatedBrowserLogout(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.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(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, BrokeredIdentityContext context) jakarta.ws.rs.core.ResponseretrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity) Deprecated.jakarta.ws.rs.core.ResponseretrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.UserModel user) Returns aResponsecontaining the token previously stored during the authentication process for a specific user.default booleanvoidupdateBrokeredUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, BrokeredIdentityContext context) Methods inherited from interface org.keycloak.broker.provider.IdentityProvider
export, getConfig, isMapperSupported, isType, reloadKeysMethods inherited from interface org.keycloak.provider.Provider
close
-
Field Details
-
EXTERNAL_IDENTITY_PROVIDER
- See Also:
-
FEDERATED_ACCESS_TOKEN
- See Also:
-
-
Method Details
-
preprocessFederatedIdentity
void preprocessFederatedIdentity(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, BrokeredIdentityContext context) -
authenticationFinished
void authenticationFinished(org.keycloak.sessions.AuthenticationSessionModel authSession, BrokeredIdentityContext context) -
importNewUser
void importNewUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, BrokeredIdentityContext context) -
updateBrokeredUser
void updateBrokeredUser(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, BrokeredIdentityContext context) -
callback
Object callback(org.keycloak.models.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
@Deprecated jakarta.ws.rs.core.Response retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity) Deprecated.Returns a
Responsecontaining the token previously stored during the authentication process for a specific user. Deprecated method used for Identity Brokering API V1 that only uses the database.- Parameters:
session-identity-- Returns:
-
retrieveToken
jakarta.ws.rs.core.Response retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.UserModel user) Returns a
Responsecontaining the token previously stored during the authentication process for a specific user. This method looks in the user session and in the database if not present.- Parameters:
session-identity-userSession-user-- Returns:
-
backchannelLogout
void backchannelLogout(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm) -
keycloakInitiatedBrowserLogout
jakarta.ws.rs.core.Response keycloakInitiatedBrowserLogout(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.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
-