Class AbstractIdpAuthenticator
- java.lang.Object
-
- org.keycloak.authentication.authenticators.broker.AbstractIdpAuthenticator
-
- All Implemented Interfaces:
Authenticator,Provider
- Direct Known Subclasses:
IdpAutoLinkAuthenticator,IdpConfirmLinkAuthenticator,IdpCreateUserIfUniqueAuthenticator,IdpEmailVerificationAuthenticator,IdpReviewProfileAuthenticator
public abstract class AbstractIdpAuthenticator extends Object implements Authenticator
- Author:
- Marek Posolda
-
-
Field Summary
Fields Modifier and Type Field Description static StringBROKER_REGISTERED_NEW_USERstatic StringBROKERED_CONTEXT_NOTEstatic StringENFORCE_UPDATE_PROFILEstatic StringEXISTING_USER_INFOstatic StringFIRST_BROKER_LOGIN_SUCCESSstatic StringNESTED_FIRST_BROKER_CONTEXTstatic StringUPDATE_PROFILE_EMAIL_CHANGED
-
Constructor Summary
Constructors Constructor Description AbstractIdpAuthenticator()
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.authentication.Authenticator
areRequiredActionsEnabled, configuredFor, getRequiredActions, requiresUser
-
-
-
-
Field Detail
-
BROKERED_CONTEXT_NOTE
public static final String BROKERED_CONTEXT_NOTE
- See Also:
- Constant Field Values
-
EXISTING_USER_INFO
public static final String EXISTING_USER_INFO
- See Also:
- Constant Field Values
-
UPDATE_PROFILE_EMAIL_CHANGED
public static final String UPDATE_PROFILE_EMAIL_CHANGED
- See Also:
- Constant Field Values
-
ENFORCE_UPDATE_PROFILE
public static final String ENFORCE_UPDATE_PROFILE
- See Also:
- Constant Field Values
-
BROKER_REGISTERED_NEW_USER
public static final String BROKER_REGISTERED_NEW_USER
- See Also:
- Constant Field Values
-
FIRST_BROKER_LOGIN_SUCCESS
public static final String FIRST_BROKER_LOGIN_SUCCESS
- See Also:
- Constant Field Values
-
NESTED_FIRST_BROKER_CONTEXT
public static final String NESTED_FIRST_BROKER_CONTEXT
- See Also:
- Constant Field Values
-
-
Method Detail
-
authenticate
public void authenticate(AuthenticationFlowContext context)
Description copied from interface:AuthenticatorInitial call for the authenticator. This method should check the current HTTP request to determine if the request satifies the Authenticator's requirements. If it doesn't, it should send back a challenge response by calling the AuthenticationFlowContext.challenge(Response). If this challenge is a authentication, the action URL of the form must point to /realms/{realm}/login-actions/authenticate?code={session-code}&execution={executionId} or /realms/{realm}/login-actions/registration?code={session-code}&execution={executionId} {session-code} pertains to the code generated from AuthenticationFlowContext.generateAccessCode(). The {executionId} pertains to the AuthenticationExecutionModel.getId() value obtained from AuthenticationFlowContext.getExecution(). The action URL will invoke the action() method described below.- Specified by:
authenticatein interfaceAuthenticator
-
action
public void action(AuthenticationFlowContext context)
Description copied from interface:AuthenticatorCalled from a form action invocation.- Specified by:
actionin interfaceAuthenticator
-
authenticateImpl
protected abstract void authenticateImpl(AuthenticationFlowContext context, SerializedBrokeredIdentityContext serializedCtx, BrokeredIdentityContext brokerContext)
-
actionImpl
protected abstract void actionImpl(AuthenticationFlowContext context, SerializedBrokeredIdentityContext serializedCtx, BrokeredIdentityContext brokerContext)
-
sendFailureChallenge
protected void sendFailureChallenge(AuthenticationFlowContext context, javax.ws.rs.core.Response.Status status, String eventError, String errorMessage, AuthenticationFlowError flowError)
-
setRequiredActions
public void setRequiredActions(KeycloakSession session, RealmModel realm, UserModel user)
Description copied from interface:AuthenticatorSet actions to configure authenticator- Specified by:
setRequiredActionsin interfaceAuthenticator
-
getExistingUser
public static UserModel getExistingUser(KeycloakSession session, RealmModel realm, AuthenticationSessionModel authSession)
-
-