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 String
G_RECAPTCHA_RESPONSE
static String
PROVIDER_ID
static String
RECAPTCHA_REFERENCE_CATEGORY
static String
SITE_KEY
static String
SITE_SECRET
static String
USE_RECAPTCHA_NET
-
Constructor Summary
Constructors Constructor Description RegistrationRecaptcha()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buildPage(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.void
close()
This is called when the server shuts down.boolean
configuredFor(KeycloakSession session, RealmModel realm, UserModel user)
Is this FormAction configured for the current user?FormAction
create(KeycloakSession session)
List<ProviderConfigProperty>
getConfigProperties()
String
getDisplayType()
Friendly name for the authenticatorString
getHelpText()
String
getId()
String
getReferenceCategory()
General authenticator type, i.e.AuthenticationExecutionModel.Requirement[]
getRequirementChoices()
What requirement settings are allowed.void
init(Config.Scope config)
Only called once when the factory is first created.boolean
isConfigurable()
Is this authenticator configurable?boolean
isUserSetupAllowed()
Does this authenticator have required actions that can set if the user does not have this authenticator set up?void
postInit(KeycloakSessionFactory factory)
Called after all provider factories have been initializedboolean
requiresUser()
Does this FormAction require that a user be set? For registration, this method will always return false.void
setRequiredActions(KeycloakSession session, RealmModel realm, UserModel user)
Set actions to configure authenticatorvoid
success(FormContext context)
Called after all validate() calls of all FormAction providers are successful.void
validate(ValidationContext context)
This is the first phase of form processing.protected boolean
validateRecaptcha(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:ConfigurableAuthenticatorFactory
Friendly name for the authenticator- Specified by:
getDisplayType
in interfaceConfigurableAuthenticatorFactory
- Returns:
-
getReferenceCategory
public String getReferenceCategory()
Description copied from interface:ConfigurableAuthenticatorFactory
General authenticator type, i.e. totp, password, cert.- Specified by:
getReferenceCategory
in interfaceConfigurableAuthenticatorFactory
- Returns:
- null if not a referencable category
-
isConfigurable
public boolean isConfigurable()
Description copied from interface:ConfigurableAuthenticatorFactory
Is this authenticator configurable?- Specified by:
isConfigurable
in interfaceConfigurableAuthenticatorFactory
- Returns:
-
getRequirementChoices
public AuthenticationExecutionModel.Requirement[] getRequirementChoices()
Description copied from interface:ConfigurableAuthenticatorFactory
What requirement settings are allowed.- Specified by:
getRequirementChoices
in interfaceConfigurableAuthenticatorFactory
- Returns:
-
buildPage
public void buildPage(FormContext context, LoginFormsProvider form)
Description copied from interface:FormAction
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.- Specified by:
buildPage
in interfaceFormAction
-
validate
public void validate(ValidationContext context)
Description copied from interface:FormAction
This 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:
validate
in interfaceFormAction
-
validateRecaptcha
protected boolean validateRecaptcha(ValidationContext context, boolean success, String captcha, String secret)
-
success
public void success(FormContext context)
Description copied from interface:FormAction
Called after all validate() calls of all FormAction providers are successful.- Specified by:
success
in interfaceFormAction
-
requiresUser
public boolean requiresUser()
Description copied from interface:FormAction
Does this FormAction require that a user be set? For registration, this method will always return false.- Specified by:
requiresUser
in interfaceFormAction
- Returns:
-
configuredFor
public boolean configuredFor(KeycloakSession session, RealmModel realm, UserModel user)
Description copied from interface:FormAction
Is this FormAction configured for the current user?- Specified by:
configuredFor
in interfaceFormAction
- Returns:
-
setRequiredActions
public void setRequiredActions(KeycloakSession session, RealmModel realm, UserModel user)
Description copied from interface:FormAction
Set actions to configure authenticator- Specified by:
setRequiredActions
in interfaceFormAction
-
isUserSetupAllowed
public boolean isUserSetupAllowed()
Description copied from interface:ConfigurableAuthenticatorFactory
Does this authenticator have required actions that can set if the user does not have this authenticator set up?- Specified by:
isUserSetupAllowed
in interfaceConfigurableAuthenticatorFactory
- Returns:
-
close
public void close()
Description copied from interface:ProviderFactory
This is called when the server shuts down.- Specified by:
close
in interfaceProvider
- Specified by:
close
in interfaceProviderFactory<FormAction>
-
create
public FormAction create(KeycloakSession session)
- Specified by:
create
in interfaceProviderFactory<FormAction>
-
init
public void init(Config.Scope config)
Description copied from interface:ProviderFactory
Only called once when the factory is first created. This config is pulled from keycloak_server.json- Specified by:
init
in interfaceProviderFactory<FormAction>
-
postInit
public void postInit(KeycloakSessionFactory factory)
Description copied from interface:ProviderFactory
Called after all provider factories have been initialized- Specified by:
postInit
in interfaceProviderFactory<FormAction>
-
getId
public String getId()
- Specified by:
getId
in interfaceProviderFactory<FormAction>
-
getHelpText
public String getHelpText()
- Specified by:
getHelpText
in interfaceConfiguredProvider
-
getConfigProperties
public List<ProviderConfigProperty> getConfigProperties()
- Specified by:
getConfigProperties
in interfaceConfiguredProvider
-
-