diff --git a/sc-spi/.gitignore b/sc-spi/.gitignore new file mode 100644 index 0000000..8c94bba --- /dev/null +++ b/sc-spi/.gitignore @@ -0,0 +1,4 @@ +.idea +target/ +*.log +.DS_Store diff --git a/sc-spi/README.md b/sc-spi/README.md new file mode 100644 index 0000000..667ff1f --- /dev/null +++ b/sc-spi/README.md @@ -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 \ No newline at end of file diff --git a/sc-spi/pom.xml b/sc-spi/pom.xml new file mode 100644 index 0000000..d7a753f --- /dev/null +++ b/sc-spi/pom.xml @@ -0,0 +1,64 @@ + + + + keycloak-sendcloud-email-verification + com.fornet.keycloak + 1.0.0.0-SNAPSHOT + 4.0.0 + jar + + + UTF-8 + 17 + ${java.version} + ${java.version} + 22.0.2 + + + + + + org.keycloak + keycloak-server-spi + ${keycloak.version} + provided + + + + org.keycloak + keycloak-server-spi-private + ${keycloak.version} + provided + + + + org.keycloak + keycloak-services + ${keycloak.version} + provided + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + + + + + + + + + + + diff --git a/sc-spi/src/main/java/com/fornet/keycloak/email/ses/SESEmailSenderProvider.java b/sc-spi/src/main/java/com/fornet/keycloak/email/ses/SESEmailSenderProvider.java new file mode 100644 index 0000000..329c09e --- /dev/null +++ b/sc-spi/src/main/java/com/fornet/keycloak/email/ses/SESEmailSenderProvider.java @@ -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 config, String address, String subject, String textBody, String htmlBody) throws EmailException { + + } + + @Override + public void close() { + + } +} diff --git a/sc-spi/src/main/java/com/fornet/keycloak/email/ses/SESEmailSenderProviderFactory.java b/sc-spi/src/main/java/com/fornet/keycloak/email/ses/SESEmailSenderProviderFactory.java new file mode 100644 index 0000000..d6bdb65 --- /dev/null +++ b/sc-spi/src/main/java/com/fornet/keycloak/email/ses/SESEmailSenderProviderFactory.java @@ -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 getOperationalInfo() { + return null; + } +} diff --git a/sc-spi/src/main/resources/services/src/main/resources/META-INF/services/org.keycloak.email.EmailSenderProviderFactory b/sc-spi/src/main/resources/services/src/main/resources/META-INF/services/org.keycloak.email.EmailSenderProviderFactory new file mode 100644 index 0000000..a4b70a3 --- /dev/null +++ b/sc-spi/src/main/resources/services/src/main/resources/META-INF/services/org.keycloak.email.EmailSenderProviderFactory @@ -0,0 +1 @@ +com.fornet.keycloak.email.ses.SESEmailSenderProviderFactory \ No newline at end of file diff --git a/sc-spi/src/main/resources/src/main/resources/META-INF/jboss-deployment-structure.xml b/sc-spi/src/main/resources/src/main/resources/META-INF/jboss-deployment-structure.xml new file mode 100644 index 0000000..0e2e46d --- /dev/null +++ b/sc-spi/src/main/resources/src/main/resources/META-INF/jboss-deployment-structure.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sc-spi/src/test/resources/log4j.properties b/sc-spi/src/test/resources/log4j.properties new file mode 100644 index 0000000..bfe2606 --- /dev/null +++ b/sc-spi/src/test/resources/log4j.properties @@ -0,0 +1,2 @@ +log4j.rootLogger=TRACE, NullAppender +log4j.appender.NullAppender=org.apache.log4j.varia.NullAppender \ No newline at end of file