Class BasicAuthAuthenticator
- java.lang.Object
- 
- org.keycloak.authentication.AbstractFormAuthenticator
- 
- org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator
- 
- org.keycloak.authentication.authenticators.challenge.BasicAuthAuthenticator
 
 
 
- 
- All Implemented Interfaces:
- Authenticator,- Provider
 - Direct Known Subclasses:
- BasicAuthOTPAuthenticator
 
 public class BasicAuthAuthenticator extends AbstractUsernameFormAuthenticator implements Authenticator - Version:
- $Revision: 1 $
- Author:
- Bill Burke
 
- 
- 
Field Summary- 
Fields inherited from class org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticatorATTEMPTED_USERNAME, REGISTRATION_FORM_ACTION, USER_SET_BEFORE_USERNAME_PASSWORD_AUTH
 
- 
 - 
Constructor SummaryConstructors Constructor Description BasicAuthAuthenticator()
 - 
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.protected javax.ws.rs.core.Responsechallenge(AuthenticationFlowContext context, String error)protected javax.ws.rs.core.Responsechallenge(AuthenticationFlowContext context, String error, String field)protected booleancheckUsernameAndPassword(AuthenticationFlowContext context, String username, String password)voidclose()booleanconfiguredFor(KeycloakSession session, RealmModel realm, UserModel user)Is this authenticator configured for this user.protected StringgetAuthorizationHeader(AuthenticationFlowContext context)protected String[]getChallenge(String authorizationHeader)protected booleanonAuthenticate(AuthenticationFlowContext context, String[] challenge)booleanrequiresUser()Does this authenticator require that the user has already been identified? That AuthenticatorContext.getUser() is not null?protected javax.ws.rs.core.ResponsesetDuplicateUserChallenge(AuthenticationFlowContext context, String eventError, String loginFormError, AuthenticationFlowError authenticatorError)voidsetRequiredActions(KeycloakSession session, RealmModel realm, UserModel user)Set actions to configure authenticator- 
Methods inherited from class org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticatorcreateLoginForm, disabledByBruteForceError, disabledByBruteForceFieldError, dummyHash, enabledUser, getDefaultChallengeMessage, isDisabledByBruteForce, isUserAlreadySetBeforeUsernamePasswordAuth, runDefaultDummyHash, 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, getRequiredActions
 
- 
 
- 
- 
- 
Method Detail- 
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:
 
 - 
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
 
 - 
onAuthenticateprotected boolean onAuthenticate(AuthenticationFlowContext context, String[] challenge) 
 - 
getAuthorizationHeaderprotected String getAuthorizationHeader(AuthenticationFlowContext context) 
 - 
checkUsernameAndPasswordprotected boolean checkUsernameAndPassword(AuthenticationFlowContext context, String username, String password) 
 - 
setDuplicateUserChallengeprotected javax.ws.rs.core.Response setDuplicateUserChallenge(AuthenticationFlowContext context, String eventError, String loginFormError, AuthenticationFlowError authenticatorError) - Overrides:
- setDuplicateUserChallengein class- AbstractUsernameFormAuthenticator
 
 - 
challengeprotected javax.ws.rs.core.Response challenge(AuthenticationFlowContext context, String error) - Overrides:
- challengein class- AbstractUsernameFormAuthenticator
 
 - 
challengeprotected javax.ws.rs.core.Response challenge(AuthenticationFlowContext context, String error, String field) - Overrides:
- challengein class- AbstractUsernameFormAuthenticator
 
 - 
actionpublic void action(AuthenticationFlowContext context) Description copied from interface:AuthenticatorCalled from a form action invocation.- Specified by:
- actionin interface- Authenticator
- Overrides:
- actionin 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
 
 - 
closepublic void close() - Specified by:
- closein interface- Provider
- Overrides:
- closein class- AbstractFormAuthenticator
 
 
- 
 
-