[KEYCLOAK-4721] Consider Session Language of Realm Also In ReCaptcha
This commit is contained in:
parent
340afb2a50
commit
c2fe500eb8
1 changed files with 6 additions and 5 deletions
|
@ -93,6 +93,7 @@ public class RegistrationRecaptcha implements FormAction, FormActionFactory, Con
|
||||||
@Override
|
@Override
|
||||||
public void buildPage(FormContext context, LoginFormsProvider form) {
|
public void buildPage(FormContext context, LoginFormsProvider form) {
|
||||||
AuthenticatorConfigModel captchaConfig = context.getAuthenticatorConfig();
|
AuthenticatorConfigModel captchaConfig = context.getAuthenticatorConfig();
|
||||||
|
String userLanguageTag = context.getSession().getContext().resolveLocale(context.getUser()).toLanguageTag();
|
||||||
if (captchaConfig == null || captchaConfig.getConfig() == null
|
if (captchaConfig == null || captchaConfig.getConfig() == null
|
||||||
|| captchaConfig.getConfig().get(SITE_KEY) == null
|
|| captchaConfig.getConfig().get(SITE_KEY) == null
|
||||||
|| captchaConfig.getConfig().get(SITE_SECRET) == null
|
|| captchaConfig.getConfig().get(SITE_SECRET) == null
|
||||||
|
@ -103,7 +104,7 @@ public class RegistrationRecaptcha implements FormAction, FormActionFactory, Con
|
||||||
String siteKey = captchaConfig.getConfig().get(SITE_KEY);
|
String siteKey = captchaConfig.getConfig().get(SITE_KEY);
|
||||||
form.setAttribute("recaptchaRequired", true);
|
form.setAttribute("recaptchaRequired", true);
|
||||||
form.setAttribute("recaptchaSiteKey", siteKey);
|
form.setAttribute("recaptchaSiteKey", siteKey);
|
||||||
form.addScript("https://www.google.com/recaptcha/api.js");
|
form.addScript("https://www.google.com/recaptcha/api.js?hl=" + userLanguageTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -215,7 +216,7 @@ public class RegistrationRecaptcha implements FormAction, FormActionFactory, Con
|
||||||
return "Adds Google Recaptcha button. Recaptchas verify that the entity that is registering is a human. This can only be used on the internet and must be configured after you add it.";
|
return "Adds Google Recaptcha button. Recaptchas verify that the entity that is registering is a human. This can only be used on the internet and must be configured after you add it.";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final List<ProviderConfigProperty> configProperties = new ArrayList<ProviderConfigProperty>();
|
private static final List<ProviderConfigProperty> CONFIG_PROPERTIES = new ArrayList<ProviderConfigProperty>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
ProviderConfigProperty property;
|
ProviderConfigProperty property;
|
||||||
|
@ -224,19 +225,19 @@ public class RegistrationRecaptcha implements FormAction, FormActionFactory, Con
|
||||||
property.setLabel("Recaptcha Site Key");
|
property.setLabel("Recaptcha Site Key");
|
||||||
property.setType(ProviderConfigProperty.STRING_TYPE);
|
property.setType(ProviderConfigProperty.STRING_TYPE);
|
||||||
property.setHelpText("Google Recaptcha Site Key");
|
property.setHelpText("Google Recaptcha Site Key");
|
||||||
configProperties.add(property);
|
CONFIG_PROPERTIES.add(property);
|
||||||
property = new ProviderConfigProperty();
|
property = new ProviderConfigProperty();
|
||||||
property.setName(SITE_SECRET);
|
property.setName(SITE_SECRET);
|
||||||
property.setLabel("Recaptcha Secret");
|
property.setLabel("Recaptcha Secret");
|
||||||
property.setType(ProviderConfigProperty.STRING_TYPE);
|
property.setType(ProviderConfigProperty.STRING_TYPE);
|
||||||
property.setHelpText("Google Recaptcha Secret");
|
property.setHelpText("Google Recaptcha Secret");
|
||||||
configProperties.add(property);
|
CONFIG_PROPERTIES.add(property);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProviderConfigProperty> getConfigProperties() {
|
public List<ProviderConfigProperty> getConfigProperties() {
|
||||||
return configProperties;
|
return CONFIG_PROPERTIES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue