Class OTPFormAuthenticator
- java.lang.Object
- 
- org.keycloak.authentication.AbstractFormAuthenticator
- 
- org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator
- 
- org.keycloak.authentication.authenticators.browser.OTPFormAuthenticator
 
 
 
- 
- All Implemented Interfaces:
- Authenticator,- CredentialValidator<OTPCredentialProvider>,- Provider
 - Direct Known Subclasses:
- ConditionalOtpFormAuthenticator
 
 public class OTPFormAuthenticator extends AbstractUsernameFormAuthenticator implements Authenticator, CredentialValidator<OTPCredentialProvider> - Version:
- $Revision: 1 $
- Author:
- Bill Burke
 
- 
- 
Field SummaryFields Modifier and Type Field Description static StringSELECTED_OTP_CREDENTIAL_IDstatic StringUNNAMED- 
Fields inherited from class org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticatorATTEMPTED_USERNAME, REGISTRATION_FORM_ACTION, USER_SET_BEFORE_USERNAME_PASSWORD_AUTH
 
- 
 - 
Constructor SummaryConstructors Constructor Description OTPFormAuthenticator()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaction(AuthenticationFlowContext context)Called from a form action invocation.voidauthenticate(AuthenticationFlowContext context)Initial call for the authenticator.voidclose()booleanconfiguredFor(KeycloakSession session, RealmModel realm, UserModel user)Is this authenticator configured for this user.protected javax.ws.rs.core.ResponsecreateLoginForm(LoginFormsProvider form)protected StringdisabledByBruteForceError()protected StringdisabledByBruteForceFieldError()OTPCredentialProvidergetCredentialProvider(KeycloakSession session)List<RequiredActionFactory>getRequiredActions(KeycloakSession session)Overwrite this if the authenticator is associated withbooleanrequiresUser()Does this authenticator require that the user has already been identified? That AuthenticatorContext.getUser() is not null?voidsetRequiredActions(KeycloakSession session, RealmModel realm, UserModel user)Set actions to configure authenticatorvoidvalidateOTP(AuthenticationFlowContext context)- 
Methods inherited from class org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticatorchallenge, challenge, dummyHash, enabledUser, getDefaultChallengeMessage, isDisabledByBruteForce, isUserAlreadySetBeforeUsernamePasswordAuth, runDefaultDummyHash, setDuplicateUserChallenge, testInvalidUser, validatePassword, validateUser, validateUserAndPassword
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.keycloak.authentication.AuthenticatorareRequiredActionsEnabled
 - 
Methods inherited from interface org.keycloak.authentication.CredentialValidatorgetCredentials, getType
 
- 
 
- 
- 
- 
Field Detail- 
SELECTED_OTP_CREDENTIAL_IDpublic static final String SELECTED_OTP_CREDENTIAL_ID - See Also:
- Constant Field Values
 
 - 
UNNAMEDpublic static final String UNNAMED - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
actionpublic void action(AuthenticationFlowContext context) Description copied from interface:AuthenticatorCalled from a form action invocation.- Specified by:
- actionin interface- Authenticator
- Overrides:
- actionin class- AbstractUsernameFormAuthenticator
 
 - 
authenticatepublic 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 interface- Authenticator
 
 - 
validateOTPpublic void validateOTP(AuthenticationFlowContext context) 
 - 
requiresUserpublic boolean requiresUser() Description copied from interface:AuthenticatorDoes this authenticator require that the user has already been identified? That AuthenticatorContext.getUser() is not null?- Specified by:
- requiresUserin interface- Authenticator
- Returns:
 
 - 
disabledByBruteForceErrorprotected String disabledByBruteForceError() - Overrides:
- disabledByBruteForceErrorin class- AbstractUsernameFormAuthenticator
 
 - 
disabledByBruteForceFieldErrorprotected String disabledByBruteForceFieldError() - Overrides:
- disabledByBruteForceFieldErrorin class- AbstractUsernameFormAuthenticator
 
 - 
createLoginFormprotected javax.ws.rs.core.Response createLoginForm(LoginFormsProvider form) - Overrides:
- createLoginFormin class- AbstractUsernameFormAuthenticator
 
 - 
configuredForpublic boolean configuredFor(KeycloakSession session, RealmModel realm, UserModel user) Description copied from interface:AuthenticatorIs this authenticator configured for this user.- Specified by:
- configuredForin interface- Authenticator
- Returns:
 
 - 
setRequiredActionspublic void setRequiredActions(KeycloakSession session, RealmModel realm, UserModel user) Description copied from interface:AuthenticatorSet actions to configure authenticator- Specified by:
- setRequiredActionsin interface- Authenticator
 
 - 
getRequiredActionspublic List<RequiredActionFactory> getRequiredActions(KeycloakSession session) Description copied from interface:AuthenticatorOverwrite this if the authenticator is associated with- Specified by:
- getRequiredActionsin interface- Authenticator
- Returns:
 
 - 
closepublic void close() - Specified by:
- closein interface- Provider
- Overrides:
- closein class- AbstractFormAuthenticator
 
 - 
getCredentialProviderpublic OTPCredentialProvider getCredentialProvider(KeycloakSession session) - Specified by:
- getCredentialProviderin interface- CredentialValidator<OTPCredentialProvider>
 
 
- 
 
-