Class WebAuthnAuthenticator
- java.lang.Object
- 
- org.keycloak.authentication.authenticators.browser.WebAuthnAuthenticator
 
- 
- All Implemented Interfaces:
- Authenticator,- CredentialValidator<WebAuthnCredentialProvider>,- Provider
 - Direct Known Subclasses:
- WebAuthnPasswordlessAuthenticator
 
 public class WebAuthnAuthenticator extends Object implements Authenticator, CredentialValidator<WebAuthnCredentialProvider> Authenticator for WebAuthn authentication, which will be typically used when WebAuthn is used as second factor.
- 
- 
Constructor SummaryConstructors Constructor Description WebAuthnAuthenticator(KeycloakSession session)
 - 
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.WebAuthnCredentialProvidergetCredentialProvider(KeycloakSession session)protected StringgetCredentialType()List<RequiredActionFactory>getRequiredActions(KeycloakSession session)Overwrite this if the authenticator is associated withprotected StringgetRpID(AuthenticationFlowContext context)protected WebAuthnPolicygetWebAuthnPolicy(AuthenticationFlowContext context)booleanrequiresUser()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 authenticatorprotected booleanshouldDisplayAuthenticators(AuthenticationFlowContext context)- 
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
 
- 
 
- 
- 
- 
Constructor Detail- 
WebAuthnAuthenticatorpublic WebAuthnAuthenticator(KeycloakSession session) 
 
- 
 - 
Method Detail- 
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
 
 - 
getWebAuthnPolicyprotected WebAuthnPolicy getWebAuthnPolicy(AuthenticationFlowContext context) 
 - 
getRpIDprotected String getRpID(AuthenticationFlowContext context) 
 - 
getCredentialTypeprotected String getCredentialType() 
 - 
shouldDisplayAuthenticatorsprotected boolean shouldDisplayAuthenticators(AuthenticationFlowContext context) 
 - 
actionpublic void action(AuthenticationFlowContext context) Description copied from interface:AuthenticatorCalled from a form action invocation.- Specified by:
- actionin interface- Authenticator
 
 - 
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:
 
 - 
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:
 
 - 
getCredentialProviderpublic WebAuthnCredentialProvider getCredentialProvider(KeycloakSession session) - Specified by:
- getCredentialProviderin interface- CredentialValidator<WebAuthnCredentialProvider>
 
 
- 
 
-