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
FieldsFields inherited from class org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator
ATTEMPTED_USERNAME, REGISTRATION_FORM_ACTION, SESSION_INVALID, USER_SET_BEFORE_USERNAME_PASSWORD_AUTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaction(AuthenticationFlowContext context) Called from a form action invocation.protected booleanprotected booleanvoidauthenticate(AuthenticationFlowContext context) Initial call for the authenticator.protected jakarta.ws.rs.core.Responsechallenge(AuthenticationFlowContext context, jakarta.ws.rs.core.MultivaluedMap<String, String> formData) protected jakarta.ws.rs.core.Responsechallenge(AuthenticationFlowContext context, String error, String field) voidclose()booleanconfiguredFor(KeycloakSession session, RealmModel realm, UserModel user) Is this authenticator configured for this user.protected booleanisConditionalPasskeysEnabled(UserModel currentUser) booleanDoes 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 authenticatorprotected booleanvalidateForm(AuthenticationFlowContext context, jakarta.ws.rs.core.MultivaluedMap<String, String> formData) Methods inherited from class org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator
challenge, createLoginForm, disabledByBruteForceError, disabledByBruteForceFieldError, enabledUser, getDefaultChallengeMessage, isDisabledByBruteForce, isUserAlreadySetBeforeUsernamePasswordAuth, setDuplicateUserChallenge, testInvalidUser, validatePassword, validateUser, validateUserAndPasswordMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.authentication.Authenticator
areRequiredActionsEnabled, getRequiredActions
-
Field Details
-
webauthnAuth
-
-
Constructor Details
-
UsernamePasswordForm
public UsernamePasswordForm() -
UsernamePasswordForm
-
-
Method Details
-
action
Description copied from interface:AuthenticatorCalled from a form action invocation.- Specified by:
actionin interfaceAuthenticator- Overrides:
actionin classAbstractUsernameFormAuthenticator
-
validateForm
protected boolean validateForm(AuthenticationFlowContext context, jakarta.ws.rs.core.MultivaluedMap<String, String> formData) -
alreadyAuthenticatedUsingPasswordlessCredential
protected boolean alreadyAuthenticatedUsingPasswordlessCredential(AuthenticationFlowContext context) -
alreadyAuthenticatedUsingPasswordlessCredential
protected boolean alreadyAuthenticatedUsingPasswordlessCredential(AuthenticationSessionModel authSession) -
authenticate
Description copied from interface:AuthenticatorInitial call for the authenticator. This method should check the current HTTP request to determine if the request satisfies 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
-
requiresUser
public 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 interfaceAuthenticator- Returns:
-
challenge
protected jakarta.ws.rs.core.Response challenge(AuthenticationFlowContext context, jakarta.ws.rs.core.MultivaluedMap<String, String> formData) -
challenge
protected jakarta.ws.rs.core.Response challenge(AuthenticationFlowContext context, String error, String field) - Overrides:
challengein classAbstractUsernameFormAuthenticator
-
configuredFor
Description copied from interface:AuthenticatorIs this authenticator configured for this user.- Specified by:
configuredForin interfaceAuthenticator- Returns:
-
setRequiredActions
Description copied from interface:AuthenticatorSet actions to configure authenticator- Specified by:
setRequiredActionsin interfaceAuthenticator
-
close
public void close()- Specified by:
closein interfaceProvider- Overrides:
closein classAbstractFormAuthenticator
-
isConditionalPasskeysEnabled
-