Skip to content

Commit

Permalink
first build for 23.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
instipod committed Dec 30, 2023
1 parent 56bd3c1 commit e439a7a
Show file tree
Hide file tree
Showing 9 changed files with 29 additions and 75 deletions.
52 changes: 8 additions & 44 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.instipod</groupId>
<artifactId>KeycloakAuthenticators</artifactId>
<version>1.3.1-SNAPSHOT</version>
<version>1.3.3-SNAPSHOT</version>
<packaging>jar</packaging>
<description/>

Expand All @@ -18,63 +18,35 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
<version>11.0.3</version>
<version>23.0.3</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-server-spi</artifactId>
<version>11.0.3</version>
<artifactId>keycloak-services</artifactId>
<version>23.0.3</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-email-api</artifactId>
<version>1.8.1.Final</version>
<artifactId>keycloak-server-spi</artifactId>
<version>23.0.3</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-server-spi-private</artifactId>
<version>11.0.3</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.4.1.Final</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
<version>11.0.3</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.0.4</version>
<version>23.0.3</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-common</artifactId>
<version>11.0.3</version>
<version>23.0.3</version>
<scope>provided</scope>
</dependency>

Expand Down Expand Up @@ -104,14 +76,6 @@
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>2.0.1.Final</version>
<configuration>
<skip>false</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.instipod.keycloakauthenticators;

import com.instipod.keycloakauthenticators.utils.AuthenticatorUtils;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.MultivaluedMap;
import org.jboss.logging.Logger;
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
Expand All @@ -10,9 +12,6 @@
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;

import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;

public class ChoiceAuthenticator implements org.keycloak.authentication.Authenticator {
public static final ChoiceAuthenticator SINGLETON = new ChoiceAuthenticator();
private static Logger logger = Logger.getLogger(ChoiceAuthenticator.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ public boolean matchCondition(AuthenticationFlowContext context) {
if (attributeValue != null)
attributeValue = AuthenticatorUtils.variableReplace(context, attributeValue);

List<String> values = context.getUser().getAttribute(attributeName);
List<String> values = context.getUser().getAttributes().get(attributeName);

boolean hasAttribute;
if (attributeValue == null || attributeValue == "") {
//check presence only
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.instipod.keycloakauthenticators;

import org.keycloak.Config.Scope;
import org.keycloak.authentication.authenticators.conditional.ConditionalAuthenticator;
import org.keycloak.authentication.authenticators.conditional.ConditionalAuthenticatorFactory;
import org.keycloak.models.AuthenticationExecutionModel.Requirement;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.provider.ProviderConfigProperty;
Expand All @@ -10,7 +10,7 @@
import java.util.Collections;
import java.util.List;

public class ConditionalAttributeAuthenticatorFactory implements org.keycloak.authentication.authenticators.conditional.ConditionalAuthenticatorFactory {
public class ConditionalAttributeAuthenticatorFactory implements ConditionalAuthenticatorFactory {
public static final String PROVIDER_ID = "conditional-attribute";
protected static final String CONDITIONAL_ATTRIBUTE_NAME = "condAttributeName";
protected static final String CONDITIONAL_ATTRIBUTE_VALUE = "condAttributeValue";
Expand Down Expand Up @@ -87,7 +87,7 @@ public List<ProviderConfigProperty> getConfigProperties() {
}

@Override
public ConditionalAuthenticator getSingleton() {
public ConditionalAttributeAuthenticator getSingleton() {
return ConditionalAttributeAuthenticator.SINGLETON;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import com.instipod.keycloakauthenticators.utils.AuthenticatorUtils;
import org.jboss.logging.Logger;
import jakarta.ws.rs.core.MultivaluedMap;
import jakarta.ws.rs.core.Response;
import java.util.List;
import org.keycloak.authentication.AuthenticationFlow;
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
Expand All @@ -11,10 +14,6 @@
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;

import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import java.util.List;

public class DenyLoginAuthenticator implements org.keycloak.authentication.Authenticator {
public static final DenyLoginAuthenticator SINGLETON = new DenyLoginAuthenticator();
private static Logger logger = Logger.getLogger(DenyLoginAuthenticator.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

package com.instipod.keycloakauthenticators;

import jakarta.ws.rs.core.MultivaluedMap;
import jakarta.ws.rs.core.Response;
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.Authenticator;
Expand All @@ -28,10 +30,6 @@
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.theme.FreeMarkerUtil;

import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
Expand All @@ -55,7 +53,7 @@ public boolean requiresUser() {
}

public void sendMagicLink(AuthenticationFlowContext context, String email) {
UserModel user = context.getSession().users().getUserByEmail(email, context.getRealm());
UserModel user = context.getSession().users().getUserByEmail(context.getRealm(), email);
if (user == null) {
// Register user
user = context.getSession().users().addUser(context.getRealm(), email);
Expand All @@ -74,7 +72,7 @@ public void sendMagicLink(AuthenticationFlowContext context, String email) {
attributes.put("link", link);

try {
FreeMarkerEmailTemplateProvider emailTemplateProvider = new FreeMarkerEmailTemplateProvider(context.getSession(), new FreeMarkerUtil());
FreeMarkerEmailTemplateProvider emailTemplateProvider = new FreeMarkerEmailTemplateProvider(context.getSession());
emailTemplateProvider.setRealm(context.getRealm());
emailTemplateProvider.setUser(context.getUser());
emailTemplateProvider.setAuthenticationSession(context.getAuthenticationSession());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.instipod.keycloakauthenticators;

import com.instipod.keycloakauthenticators.utils.AuthenticatorUtils;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.MultivaluedMap;
import org.jboss.logging.Logger;
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
Expand All @@ -9,10 +11,9 @@
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;

import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class QRCodeAuthenticator implements org.keycloak.authentication.Authenticator {
public static final QRCodeAuthenticator SINGLETON = new QRCodeAuthenticator();
Expand Down Expand Up @@ -82,7 +83,8 @@ public void action(AuthenticationFlowContext authenticationFlowContext) {
logger.info("QR Code value submitted, looking in " + attributeName + " for value " + qrCodeData);

boolean isValid = false;
List<UserModel> users = authenticationFlowContext.getSession().users().searchForUserByUserAttribute(attributeName, qrCodeData, authenticationFlowContext.getRealm());
Stream<UserModel> usersStream = authenticationFlowContext.getSession().users().searchForUserByUserAttributeStream(authenticationFlowContext.getRealm(), attributeName, qrCodeData);
List<UserModel> users = usersStream.collect(Collectors.toUnmodifiableList());

if (users.size() == 1 && qrCodeData.length() > 0) {
//qr is valid, returned exactly one result
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.instipod.keycloakauthenticators;

import com.instipod.keycloakauthenticators.utils.AuthenticatorUtils;
import jakarta.ws.rs.core.Response;
import org.jboss.logging.Logger;
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
Expand All @@ -10,10 +11,6 @@
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;

import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import java.util.List;

public class SplashMessageAuthenticator implements org.keycloak.authentication.Authenticator {
public static final SplashMessageAuthenticator SINGLETON = new SplashMessageAuthenticator();
private static Logger logger = Logger.getLogger(SplashMessageAuthenticator.class);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
package com.instipod.keycloakauthenticators;

import com.instipod.keycloakauthenticators.utils.AuthenticatorUtils;
import org.jboss.logging.Logger;
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.AuthenticatorConfigModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;

import javax.ws.rs.core.Response;

public class SuccessAuthenticator implements org.keycloak.authentication.Authenticator {
public static final SuccessAuthenticator SINGLETON = new SuccessAuthenticator();
private static Logger logger = Logger.getLogger(SuccessAuthenticator.class);
Expand Down

0 comments on commit e439a7a

Please sign in to comment.