Fix for compatibility with KC 19¨+

The ui for configuring valid domains changed. It is now just a simple textfield expecting a list of valid domains separated by '##'
This commit is contained in:
Cédric Couralet 2022-08-05 18:10:44 +02:00
parent f64d9c3320
commit cb0296aa56
2 changed files with 6 additions and 5 deletions

View File

@ -32,7 +32,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<keycloak.version>9.0.3</keycloak.version>
<keycloak.version>19.0.0</keycloak.version>
</properties>
<dependencies>

View File

@ -53,8 +53,8 @@ public class RegistrationProfileWithMailDomainCheck extends RegistrationProfile
property = new ProviderConfigProperty();
property.setName("validDomains");
property.setLabel("Valid domain for emails");
property.setType(ProviderConfigProperty.MULTIVALUED_STRING_TYPE);
property.setHelpText("List mail domains authorized to register");
property.setType(ProviderConfigProperty.STRING_TYPE);
property.setHelpText("List mail domains authorized to register, separated by '##'");
CONFIG_PROPERTIES.add(property);
}
@ -114,8 +114,8 @@ public class RegistrationProfileWithMailDomainCheck extends RegistrationProfile
context.validationError(formData, errors);
return;
}
String[] domains = mailDomainConfig.getConfig().getOrDefault("validDomains","exemple.org").split("##");
String[] domains = mailDomainConfig.getConfig().getOrDefault("validDomains", "example.com").split("##");
for (String domain : domains) {
if (email.endsWith("@" + domain) || email.equals(domain)) {
emailDomainValid = true;
@ -148,4 +148,5 @@ public class RegistrationProfileWithMailDomainCheck extends RegistrationProfile
form.setAttribute("authorizedMailDomains", authorizedMailDomains);
}
}