Class IdentityBrokerService

java.lang.Object
org.keycloak.services.resources.IdentityBrokerService
All Implemented Interfaces:
org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback

public class IdentityBrokerService extends Object implements org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback
  • Field Details

  • Constructor Details

    • IdentityBrokerService

      public IdentityBrokerService(org.keycloak.models.KeycloakSession session)
  • Method Details

    • init

      public void init()
    • clientIntiatedAccountLinkingPreflight

      @OPTIONS @Path("/{provider_alias}/link") public jakarta.ws.rs.core.Response clientIntiatedAccountLinkingPreflight(@PathParam("provider_alias") String providerAlias)
      Closes off CORS preflight requests for account linking
      Parameters:
      providerAlias -
      Returns:
    • clientInitiatedAccountLinking

      @GET @Path("/{provider_alias}/link") @Deprecated public jakarta.ws.rs.core.Response clientInitiatedAccountLinking(@PathParam("provider_alias") String providerAlias, @QueryParam("redirect_uri") String redirectUri, @QueryParam("client_id") String clientId, @QueryParam("nonce") String nonce, @QueryParam("hash") String hash)
      Deprecated.
    • performClientInitiatedAccountLogin

      public jakarta.ws.rs.core.Response performClientInitiatedAccountLogin(String providerAlias, ClientSessionCode<org.keycloak.sessions.AuthenticationSessionModel> clientSessionCode)
    • performPostLogin

      @POST @Path("/{provider_alias}/login") public jakarta.ws.rs.core.Response performPostLogin(@PathParam("provider_alias") String providerAlias, @QueryParam("session_code") String code, @QueryParam("client_id") String clientId, @QueryParam("client_data") String clientData, @QueryParam("tab_id") String tabId, @QueryParam("login_hint") String loginHint)
    • performLogin

      @GET @Path("/{provider_alias}/login") public jakarta.ws.rs.core.Response performLogin(@PathParam("provider_alias") String providerAlias, @QueryParam("session_code") String code, @QueryParam("client_id") String clientId, @QueryParam("tab_id") String tabId, @QueryParam("client_data") String clientData, @QueryParam("login_hint") String loginHint)
    • retryLogin

      public jakarta.ws.rs.core.Response retryLogin(org.keycloak.broker.provider.UserAuthenticationIdentityProvider<?> identityProvider, org.keycloak.sessions.AuthenticationSessionModel authSession)
      Specified by:
      retryLogin in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback
    • getEndpoint

      @Path("{provider_alias}/endpoint") public Object getEndpoint(@PathParam("provider_alias") String providerAlias)
    • retrieveTokenPreflight

      @Path("{provider_alias}/token") @OPTIONS public jakarta.ws.rs.core.Response retrieveTokenPreflight()
    • retrieveTokenV1

      @GET @Path("{provider_alias}/token") public jakarta.ws.rs.core.Response retrieveTokenV1(@PathParam("provider_alias") String providerAlias)
    • retrieveTokenV2

      @POST @Path("{provider_alias}/token") public jakarta.ws.rs.core.Response retrieveTokenV2(@PathParam("provider_alias") String providerAlias)
    • authenticated

      public jakarta.ws.rs.core.Response authenticated(org.keycloak.broker.provider.BrokeredIdentityContext context)
      Specified by:
      authenticated in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback
    • validateUser

      public jakarta.ws.rs.core.Response validateUser(org.keycloak.sessions.AuthenticationSessionModel authSession, org.keycloak.models.UserModel user, org.keycloak.models.RealmModel realm)
    • afterFirstBrokerLogin

      @GET @Path("/after-first-broker-login") public jakarta.ws.rs.core.Response afterFirstBrokerLogin(@QueryParam("session_code") String code, @QueryParam("client_id") String clientId, @QueryParam("client_data") String clientData, @QueryParam("tab_id") String tabId)
    • afterPostBrokerLoginFlow

      @GET @Path("/after-post-broker-login") public jakarta.ws.rs.core.Response afterPostBrokerLoginFlow(@QueryParam("session_code") String code, @QueryParam("client_id") String clientId, @QueryParam("client_data") String clientData, @QueryParam("tab_id") String tabId)
    • cancelled

      public jakarta.ws.rs.core.Response cancelled(org.keycloak.models.IdentityProviderModel idpConfig)
      Specified by:
      cancelled in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback
    • error

      public jakarta.ws.rs.core.Response error(org.keycloak.models.IdentityProviderModel idpConfig, String message)
      Specified by:
      error in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback
    • getAndVerifyAuthenticationSession

      public org.keycloak.sessions.AuthenticationSessionModel getAndVerifyAuthenticationSession(String encodedCode)
      Specified by:
      getAndVerifyAuthenticationSession in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback
    • browserAuthentication

      protected jakarta.ws.rs.core.Response browserAuthentication(org.keycloak.sessions.AuthenticationSessionModel authSession, String errorMessage, Object... parameters)
    • getIdentityProvider

      public static org.keycloak.broker.provider.UserAuthenticationIdentityProvider<?> getIdentityProvider(org.keycloak.models.KeycloakSession session, String alias)
    • getIdentityProvider

      public static <T extends org.keycloak.broker.provider.IdentityProvider<?>> T getIdentityProvider(org.keycloak.models.KeycloakSession session, org.keycloak.models.IdentityProviderModel identityProviderModel, Class<T> type)