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>
  • Field Details

  • 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

      jakarta.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:
    • retrieveToken

      @Deprecated jakarta.ws.rs.core.Response retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity)
      Deprecated.

      Returns a Response containing 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 Response containing 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

      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