Class RegistrationRecaptcha
- java.lang.Object
-
- org.keycloak.authentication.forms.RegistrationRecaptcha
-
- All Implemented Interfaces:
ConfigurableAuthenticatorFactory,FormAction,FormActionFactory,ConfiguredProvider,Provider,ProviderFactory<FormAction>
public class RegistrationRecaptcha extends Object implements FormAction, FormActionFactory, ConfiguredProvider
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Field Summary
Fields Modifier and Type Field Description static StringG_RECAPTCHA_RESPONSEstatic StringPROVIDER_IDstatic StringRECAPTCHA_REFERENCE_CATEGORYstatic StringSITE_KEYstatic StringSITE_SECRETstatic StringUSE_RECAPTCHA_NET
-
Constructor Summary
Constructors Constructor Description RegistrationRecaptcha()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildPage(FormContext context, LoginFormsProvider form)When a FormAuthenticator is rendering the challenge page, even FormAction.buildPage() method will be called This gives the FormAction the opportunity to add additional attributes to the form to be displayed.voidclose()This is called when the server shuts down.booleanconfiguredFor(KeycloakSession session, RealmModel realm, UserModel user)Is this FormAction configured for the current user?FormActioncreate(KeycloakSession session)List<ProviderConfigProperty>getConfigProperties()StringgetDisplayType()Friendly name for the authenticatorStringgetHelpText()StringgetId()StringgetReferenceCategory()General authenticator type, i.e.AuthenticationExecutionModel.Requirement[]getRequirementChoices()What requirement settings are allowed.voidinit(Config.Scope config)Only called once when the factory is first created.booleanisConfigurable()Is this authenticator configurable?booleanisUserSetupAllowed()Does this authenticator have required actions that can set if the user does not have this authenticator set up?voidpostInit(KeycloakSessionFactory factory)Called after all provider factories have been initializedbooleanrequiresUser()Does this FormAction require that a user be set? For registration, this method will always return false.voidsetRequiredActions(KeycloakSession session, RealmModel realm, UserModel user)Set actions to configure authenticatorvoidsuccess(FormContext context)Called after all validate() calls of all FormAction providers are successful.voidvalidate(ValidationContext context)This is the first phase of form processing.protected booleanvalidateRecaptcha(ValidationContext context, boolean success, String captcha, String secret)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfig
-
Methods inherited from interface org.keycloak.provider.ProviderFactory
getConfigMetadata, order
-
-
-
-
Field Detail
-
G_RECAPTCHA_RESPONSE
public static final String G_RECAPTCHA_RESPONSE
- See Also:
- Constant Field Values
-
RECAPTCHA_REFERENCE_CATEGORY
public static final String RECAPTCHA_REFERENCE_CATEGORY
- See Also:
- Constant Field Values
-
SITE_KEY
public static final String SITE_KEY
- See Also:
- Constant Field Values
-
SITE_SECRET
public static final String SITE_SECRET
- See Also:
- Constant Field Values
-
USE_RECAPTCHA_NET
public static final String USE_RECAPTCHA_NET
- See Also:
- Constant Field Values
-
PROVIDER_ID
public static final String PROVIDER_ID
- See Also:
- Constant Field Values
-
-
Method Detail
-
getDisplayType
public String getDisplayType()
Description copied from interface:ConfigurableAuthenticatorFactoryFriendly name for the authenticator- Specified by:
getDisplayTypein interfaceConfigurableAuthenticatorFactory- Returns:
-
getReferenceCategory
public String getReferenceCategory()
Description copied from interface:ConfigurableAuthenticatorFactoryGeneral authenticator type, i.e. totp, password, cert.- Specified by:
getReferenceCategoryin interfaceConfigurableAuthenticatorFactory- Returns:
- null if not a referencable category
-
isConfigurable
public boolean isConfigurable()
Description copied from interface:ConfigurableAuthenticatorFactoryIs this authenticator configurable?- Specified by:
isConfigurablein interfaceConfigurableAuthenticatorFactory- Returns:
-
getRequirementChoices
public AuthenticationExecutionModel.Requirement[] getRequirementChoices()
Description copied from interface:ConfigurableAuthenticatorFactoryWhat requirement settings are allowed.- Specified by:
getRequirementChoicesin interfaceConfigurableAuthenticatorFactory- Returns:
-
buildPage
public void buildPage(FormContext context, LoginFormsProvider form)
Description copied from interface:FormActionWhen a FormAuthenticator is rendering the challenge page, even FormAction.buildPage() method will be called This gives the FormAction the opportunity to add additional attributes to the form to be displayed.- Specified by:
buildPagein interfaceFormAction
-
validate
public void validate(ValidationContext context)
Description copied from interface:FormActionThis is the first phase of form processing. Each FormAction.validate() method is called. This gives the FormAction a chance to validate and challenge if user input is invalid.- Specified by:
validatein interfaceFormAction
-
validateRecaptcha
protected boolean validateRecaptcha(ValidationContext context, boolean success, String captcha, String secret)
-
success
public void success(FormContext context)
Description copied from interface:FormActionCalled after all validate() calls of all FormAction providers are successful.- Specified by:
successin interfaceFormAction
-
requiresUser
public boolean requiresUser()
Description copied from interface:FormActionDoes this FormAction require that a user be set? For registration, this method will always return false.- Specified by:
requiresUserin interfaceFormAction- Returns:
-
configuredFor
public boolean configuredFor(KeycloakSession session, RealmModel realm, UserModel user)
Description copied from interface:FormActionIs this FormAction configured for the current user?- Specified by:
configuredForin interfaceFormAction- Returns:
-
setRequiredActions
public void setRequiredActions(KeycloakSession session, RealmModel realm, UserModel user)
Description copied from interface:FormActionSet actions to configure authenticator- Specified by:
setRequiredActionsin interfaceFormAction
-
isUserSetupAllowed
public boolean isUserSetupAllowed()
Description copied from interface:ConfigurableAuthenticatorFactoryDoes this authenticator have required actions that can set if the user does not have this authenticator set up?- Specified by:
isUserSetupAllowedin interfaceConfigurableAuthenticatorFactory- Returns:
-
close
public void close()
Description copied from interface:ProviderFactoryThis is called when the server shuts down.- Specified by:
closein interfaceProvider- Specified by:
closein interfaceProviderFactory<FormAction>
-
create
public FormAction create(KeycloakSession session)
- Specified by:
createin interfaceProviderFactory<FormAction>
-
init
public void init(Config.Scope config)
Description copied from interface:ProviderFactoryOnly called once when the factory is first created. This config is pulled from keycloak_server.json- Specified by:
initin interfaceProviderFactory<FormAction>
-
postInit
public void postInit(KeycloakSessionFactory factory)
Description copied from interface:ProviderFactoryCalled after all provider factories have been initialized- Specified by:
postInitin interfaceProviderFactory<FormAction>
-
getId
public String getId()
- Specified by:
getIdin interfaceProviderFactory<FormAction>
-
getHelpText
public String getHelpText()
- Specified by:
getHelpTextin interfaceConfiguredProvider
-
getConfigProperties
public List<ProviderConfigProperty> getConfigProperties()
- Specified by:
getConfigPropertiesin interfaceConfiguredProvider
-
-