Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions sc-spi/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.idea
target/
*.log
.DS_Store
3 changes: 3 additions & 0 deletions sc-spi/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Ref:
1. https://github.com/mesutpiskin/keycloak-2fa-email-authenticator
2. https://github.com/dasniko/keycloak-aws-ses-email-provider/blob/master/pom.xml
64 changes: 64 additions & 0 deletions sc-spi/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">

<artifactId>keycloak-sendcloud-email-verification</artifactId>
<groupId>com.fornet.keycloak</groupId>
<version>1.0.0.0-SNAPSHOT</version>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<keycloak.version>22.0.2</keycloak.version>
</properties>

<dependencies>

<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-server-spi</artifactId>
<version>${keycloak.version}</version>
<scope>provided</scope>
</dependency>

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

<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
<version>${keycloak.version}</version>
<scope>provided</scope>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<!-- This is required since we need to add the jboss module references
to the resulting jar -->
<manifestEntries>
<!-- Adding explicit dependencies to avoid class-loading issues at runtime -->
<Dependencies>
<![CDATA[org.keycloak.keycloak-common,org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private,org.apache.httpcomponents,org.keycloak.keycloak-services,org.jboss.logging,javax.api,javax.jms.api,javax.transaction.api,com.fasterxml.jackson.core.jackson-core,com.fasterxml.jackson.core.jackson-annotations,com.fasterxml.jackson.core.jackson-databind]]></Dependencies>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.fornet.keycloak.email.ses;

import org.keycloak.email.EmailException;
import org.keycloak.email.EmailSenderProvider;

import java.util.Map;

public class SESEmailSenderProvider implements EmailSenderProvider {
@Override
public void send(Map<String, String> config, String address, String subject, String textBody, String htmlBody) throws EmailException {

}

@Override
public void close() {

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.fornet.keycloak.email.ses;

import org.keycloak.Config;
import org.keycloak.email.EmailSenderProvider;
import org.keycloak.email.EmailSenderProviderFactory;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.provider.ServerInfoAwareProviderFactory;

import java.util.Map;

public class SESEmailSenderProviderFactory implements EmailSenderProviderFactory, ServerInfoAwareProviderFactory {
@Override
public EmailSenderProvider create(KeycloakSession session) {
return null;
}

@Override
public void init(Config.Scope config) {

}

@Override
public void postInit(KeycloakSessionFactory factory) {

}

@Override
public void close() {

}

@Override
public String getId() {
return null;
}

@Override
public Map<String, String> getOperationalInfo() {
return null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
com.fornet.keycloak.email.ses.SESEmailSenderProviderFactory
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="javax.api" export="true"/>
<module name="com.fasterxml.jackson.core.jackson-core" export="true"/>
<module name="org.apache.httpcomponents.core" export="true"/>
<module name="org.apache.commons.logging" export="true"/>
<module name="org.jboss.logging" export="true" />
<module name="org.keycloak.keycloak-core" export="true" />
<module name="org.keycloak.keycloak-server-spi" export="true" />
<module name="org.keycloak.keycloak-server-spi-private" export="true" />
<module name="org.keycloak.keycloak-services" export="true" />
</dependencies>
</deployment>
</jboss-deployment-structure>
2 changes: 2 additions & 0 deletions sc-spi/src/test/resources/log4j.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
log4j.rootLogger=TRACE, NullAppender
log4j.appender.NullAppender=org.apache.log4j.varia.NullAppender