Class IdentityBrokerService

  • All Implemented Interfaces:
    org.keycloak.broker.provider.IdentityProvider.AuthenticationCallback

    public class IdentityBrokerService
    extends Object
    implements org.keycloak.broker.provider.IdentityProvider.AuthenticationCallback

    Author:
    Pedro Igor
    • Constructor Detail

      • IdentityBrokerService

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

      • init

        public void init()
      • clientIntiatedAccountLinkingPreflight

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

        @GET
        @Path("/{provider_id}/link")
        public javax.ws.rs.core.Response clientInitiatedAccountLinking​(@PathParam("provider_id")
                                                                       String providerId,
                                                                       @QueryParam("redirect_uri")
                                                                       String redirectUri,
                                                                       @QueryParam("client_id")
                                                                       String clientId,
                                                                       @QueryParam("nonce")
                                                                       String nonce,
                                                                       @QueryParam("hash")
                                                                       String hash)
      • performPostLogin

        @POST
        @Path("/{provider_id}/login")
        public javax.ws.rs.core.Response performPostLogin​(@PathParam("provider_id")
                                                          String providerId,
                                                          @QueryParam("session_code")
                                                          String code,
                                                          @QueryParam("client_id")
                                                          String clientId,
                                                          @QueryParam("tab_id")
                                                          String tabId,
                                                          @QueryParam("login_hint")
                                                          String loginHint)
      • performLogin

        @GET
        @Path("/{provider_id}/login")
        public javax.ws.rs.core.Response performLogin​(@PathParam("provider_id")
                                                      String providerId,
                                                      @QueryParam("session_code")
                                                      String code,
                                                      @QueryParam("client_id")
                                                      String clientId,
                                                      @QueryParam("tab_id")
                                                      String tabId,
                                                      @QueryParam("login_hint")
                                                      String loginHint)
      • getEndpoint

        @Path("{provider_id}/endpoint")
        public Object getEndpoint​(@PathParam("provider_id")
                                  String providerId)
      • retrieveTokenPreflight

        @Path("{provider_id}/token")
        @OPTIONS
        public javax.ws.rs.core.Response retrieveTokenPreflight()
      • retrieveToken

        @GET
        @Path("{provider_id}/token")
        public javax.ws.rs.core.Response retrieveToken​(@PathParam("provider_id")
                                                       String providerId)
      • authenticated

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

        public javax.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 javax.ws.rs.core.Response afterFirstBrokerLogin​(@QueryParam("session_code")
                                                               String code,
                                                               @QueryParam("client_id")
                                                               String clientId,
                                                               @QueryParam("tab_id")
                                                               String tabId)
      • afterPostBrokerLoginFlow

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

        public javax.ws.rs.core.Response cancelled()
        Specified by:
        cancelled in interface org.keycloak.broker.provider.IdentityProvider.AuthenticationCallback
      • error

        public javax.ws.rs.core.Response error​(String message)
        Specified by:
        error in interface org.keycloak.broker.provider.IdentityProvider.AuthenticationCallback
      • getAndVerifyAuthenticationSession

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

        protected javax.ws.rs.core.Response browserAuthentication​(org.keycloak.sessions.AuthenticationSessionModel authSession,
                                                                  String errorMessage)
      • getIdentityProvider

        public static org.keycloak.broker.provider.IdentityProvider getIdentityProvider​(org.keycloak.models.KeycloakSession session,
                                                                                        org.keycloak.models.RealmModel realm,
                                                                                        String alias)
      • getIdentityProviderFactory

        public static org.keycloak.broker.provider.IdentityProviderFactory getIdentityProviderFactory​(org.keycloak.models.KeycloakSession session,
                                                                                                      org.keycloak.models.IdentityProviderModel model)