Class UsernamePasswordForm
java.lang.Object
org.keycloak.authentication.AbstractFormAuthenticator
org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator
org.keycloak.authentication.authenticators.browser.UsernamePasswordForm
- All Implemented Interfaces:
Authenticator
,Provider
- Direct Known Subclasses:
IdpUsernamePasswordForm
,PasswordForm
,UsernameForm
public class UsernamePasswordForm
extends AbstractUsernameFormAuthenticator
implements Authenticator
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
Field Summary
Fields inherited from class org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator
ATTEMPTED_USERNAME, REGISTRATION_FORM_ACTION, SESSION_INVALID, USER_SET_BEFORE_USERNAME_PASSWORD_AUTH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
action
(AuthenticationFlowContext context) Called from a form action invocation.void
authenticate
(AuthenticationFlowContext context) Initial call for the authenticator.protected jakarta.ws.rs.core.Response
challenge
(AuthenticationFlowContext context, jakarta.ws.rs.core.MultivaluedMap<String, String> formData) void
close()
boolean
configuredFor
(KeycloakSession session, RealmModel realm, UserModel user) Is this authenticator configured for this user.boolean
Does this authenticator require that the user has already been identified? That AuthenticatorContext.getUser() is not null?void
setRequiredActions
(KeycloakSession session, RealmModel realm, UserModel user) Set actions to configure authenticatorprotected boolean
validateForm
(AuthenticationFlowContext context, jakarta.ws.rs.core.MultivaluedMap<String, String> formData) Methods inherited from class org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator
challenge, challenge, createLoginForm, disabledByBruteForceError, disabledByBruteForceFieldError, dummyHash, enabledUser, getDefaultChallengeMessage, isDisabledByBruteForce, isUserAlreadySetBeforeUsernamePasswordAuth, runDefaultDummyHash, setDuplicateUserChallenge, testInvalidUser, validatePassword, validateUser, validateUserAndPassword
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, getRequiredActions
-
Field Details
-
log
-
-
Constructor Details
-
UsernamePasswordForm
public UsernamePasswordForm()
-
-
Method Details
-
action
Description copied from interface:Authenticator
Called from a form action invocation.- Specified by:
action
in interfaceAuthenticator
- Overrides:
action
in classAbstractUsernameFormAuthenticator
-
validateForm
protected boolean validateForm(AuthenticationFlowContext context, jakarta.ws.rs.core.MultivaluedMap<String, String> formData) -
authenticate
Description copied from interface:Authenticator
Initial 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:
authenticate
in interfaceAuthenticator
-
requiresUser
public boolean requiresUser()Description copied from interface:Authenticator
Does this authenticator require that the user has already been identified? That AuthenticatorContext.getUser() is not null?- Specified by:
requiresUser
in interfaceAuthenticator
- Returns:
-
challenge
protected jakarta.ws.rs.core.Response challenge(AuthenticationFlowContext context, jakarta.ws.rs.core.MultivaluedMap<String, String> formData) -
configuredFor
Description copied from interface:Authenticator
Is this authenticator configured for this user.- Specified by:
configuredFor
in interfaceAuthenticator
- Returns:
-
setRequiredActions
Description copied from interface:Authenticator
Set actions to configure authenticator- Specified by:
setRequiredActions
in interfaceAuthenticator
-
close
public void close()- Specified by:
close
in interfaceProvider
- Overrides:
close
in classAbstractFormAuthenticator
-