Package org.keycloak.services.resources
Class IdentityBrokerService
- java.lang.Object
-
- org.keycloak.services.resources.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 Summary
Constructors Constructor Description IdentityBrokerService(org.keycloak.models.KeycloakSession session)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.ws.rs.core.Response
afterFirstBrokerLogin(String code, String clientId, String tabId)
javax.ws.rs.core.Response
afterPostBrokerLoginFlow(String code, String clientId, String tabId)
javax.ws.rs.core.Response
authenticated(org.keycloak.broker.provider.BrokeredIdentityContext context)
protected javax.ws.rs.core.Response
browserAuthentication(org.keycloak.sessions.AuthenticationSessionModel authSession, String errorMessage)
javax.ws.rs.core.Response
cancelled()
javax.ws.rs.core.Response
clientInitiatedAccountLinking(String providerId, String redirectUri, String clientId, String nonce, String hash)
javax.ws.rs.core.Response
clientIntiatedAccountLinkingPreflight(String providerId)
Closes off CORS preflight requests for account linkingjavax.ws.rs.core.Response
error(String message)
org.keycloak.sessions.AuthenticationSessionModel
getAndVerifyAuthenticationSession(String encodedCode)
Object
getEndpoint(String providerId)
static org.keycloak.broker.provider.IdentityProvider
getIdentityProvider(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, String alias)
static org.keycloak.broker.provider.IdentityProviderFactory
getIdentityProviderFactory(org.keycloak.models.KeycloakSession session, org.keycloak.models.IdentityProviderModel model)
void
init()
javax.ws.rs.core.Response
performLogin(String providerId, String code, String clientId, String tabId, String loginHint)
javax.ws.rs.core.Response
performPostLogin(String providerId, String code, String clientId, String tabId, String loginHint)
javax.ws.rs.core.Response
retrieveToken(String providerId)
javax.ws.rs.core.Response
retrieveTokenPreflight()
javax.ws.rs.core.Response
validateUser(org.keycloak.sessions.AuthenticationSessionModel authSession, org.keycloak.models.UserModel user, org.keycloak.models.RealmModel realm)
-
-
-
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 interfaceorg.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 interfaceorg.keycloak.broker.provider.IdentityProvider.AuthenticationCallback
-
error
public javax.ws.rs.core.Response error(String message)
- Specified by:
error
in interfaceorg.keycloak.broker.provider.IdentityProvider.AuthenticationCallback
-
getAndVerifyAuthenticationSession
public org.keycloak.sessions.AuthenticationSessionModel getAndVerifyAuthenticationSession(String encodedCode)
- Specified by:
getAndVerifyAuthenticationSession
in interfaceorg.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)
-
-