Compare commits

...

2 Commits

Author SHA1 Message Date
knoflook 86cfd9cf57 wip: it builds????? 2023-12-08 15:37:09 +01:00
knoflook cc4c0867f1 wip???? 2023-12-08 15:23:25 +01:00
5 changed files with 22 additions and 16 deletions

View File

@ -1,6 +1,6 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.micedre.keycloak</groupId>
<groupId>com.github.thomasdarimont.keycloak</groupId>
<artifactId>keycloak-mail-whitelisting</artifactId>
<version>1.9-SNAPSHOT</version>
@ -149,4 +149,4 @@
</build>
</profile>
</profiles>
</project>
</project>

View File

@ -1,5 +1,5 @@
package net.micedre.keycloak.registration;
package com.github.thomasdarimont.keycloak.auth;
//
import org.jboss.logging.Logger;
import org.keycloak.authentication.FormAction;
import org.keycloak.authentication.ValidationContext;
@ -10,16 +10,23 @@ import org.keycloak.events.Errors;
import org.keycloak.models.AuthenticatorConfigModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.FormMessage;
import org.keycloak.services.messages.Messages;
import org.keycloak.services.validation.Validation;
import org.keycloak.storage.adapter.AbstractUserAdapter;
import jakarta.ws.rs.core.MultivaluedMap;
import java.util.ArrayList;
import java.util.List;
//
import org.keycloak.authentication.FormActionFactory;
import org.keycloak.authentication.FormContext;
import org.keycloak.authentication.forms.RegistrationUserCreation;
import org.keycloak.events.Errors;
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.utils.FormMessage;
public abstract class RegistrationProfileDomainValidation extends RegistrationProfile implements FormAction {
public abstract class RegistrationProfileDomainValidation extends RegistrationUserCreation {
protected static final Logger logger = Logger.getLogger(RegistrationProfileDomainValidation.class);
protected static final String DEFAULT_DOMAIN_LIST = "example.org";
@ -85,15 +92,13 @@ public abstract class RegistrationProfileDomainValidation extends RegistrationPr
boolean emailDomainValid = isEmailValid(email, domainList);
if (!emailDomainValid) {
// add user to a "waiting" group
// show a message saying you need to be approved by admin
super.success(context);
KeycloakSession session = context.getSession();
RealmModel realm = context.getRealm();
AbstractUserAdapter user = new AbstractUserAdapter();
UserModel user = context.getUser();
user.addRequiredAction("USER_MUST_BE_APPROVED");
setRequiredActions(context.getSession(), context.getRealm(), user);
setRequiredActions(session, realm, user);
context.success();
}
if (errors.size() > 0) {
context.error(eventError);

View File

@ -1,4 +1,4 @@
package net.micedre.keycloak.registration;
package com.github.thomasdarimont.keycloak.auth;
import org.keycloak.authentication.FormContext;
import org.keycloak.forms.login.LoginFormsProvider;

View File

@ -1,4 +1,4 @@
package net.micedre.keycloak.registration;
package com.github.thomasdarimont.keycloak.auth;
import org.keycloak.authentication.FormContext;
import org.keycloak.forms.login.LoginFormsProvider;
@ -69,4 +69,4 @@ public class RegistrationProfileWithMailDomainCheck extends RegistrationProfileD
return false;
}
}
}

View File

@ -1,2 +1,3 @@
net.micedre.keycloak.registration.RegistrationProfileWithMailDomainCheck
net.micedre.keycloak.registration.RegistrationProfileWithDomainBlock
com.thomasdarimont.keycloak.auth.CustomRegistrationUserCreation
com.thomasdarimont.keycloak.auth.RegistrationProfileWithDomainBlock
com.thomasdarimont.keycloak.auth.RegistrationProfileWithMailDomainCheck