Keycloak 2FA Email Authenticator 使用教程

Keycloak 2FA Email Authenticator 使用教程

keycloak-2fa-email-authenticator🔒 Keycloak Authentication Provider implementation to get a two factor authentication with a OTP/code/token send via Email (through SMTP)项目地址:https://gitcode.com/gh_mirrors/ke/keycloak-2fa-email-authenticator

1. 项目的目录结构及介绍

keycloak-2fa-email-authenticator/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── github/
│   │   │           └── mesutpiskin/
│   │   │               └── keycloak/
│   │   │                   └── authenticator/
│   │   │                       ├── email/
│   │   │                       │   ├── EmailAuthenticatorFactory.java
│   │   │                       │   ├── EmailAuthenticator.java
│   │   │                       │   └── EmailSender.java
│   │   │                       └── otp/
│   │   │                           ├── OtpAuthenticatorFactory.java
│   │   │                           └── OtpAuthenticator.java
│   │   └── resources/
│   │       ├── META-INF/
│   │       │   └── services/
│   │       │       └── org.keycloak.authentication.AuthenticatorFactory
│   │       └── templates/
│   │           ├── html/
│   │           │   └── code-email.ftl
│   │           └── text/
│   │               └── code-email.ftl
├── pom.xml
└── README.md

目录结构介绍

  • src/main/java/com/github/mesutpiskin/keycloak/authenticator/email/: 包含实现通过电子邮件发送 OTP 的类。
    • EmailAuthenticatorFactory.java: 工厂类,用于创建 EmailAuthenticator 实例。
    • EmailAuthenticator.java: 主要实现类,处理 OTP 的发送和验证。
    • EmailSender.java: 辅助类,用于发送电子邮件。
  • src/main/java/com/github/mesutpiskin/keycloak/authenticator/otp/: 包含 OTP 相关的类。
    • OtpAuthenticatorFactory.java: 工厂类,用于创建 OtpAuthenticator 实例。
    • OtpAuthenticator.java: 主要实现类,处理 OTP 的生成和验证。
  • src/main/resources/META-INF/services/org.keycloak.authentication.AuthenticatorFactory: 服务提供者配置文件,用于注册自定义的 Authenticator。
  • src/main/resources/templates/: 包含电子邮件模板文件。
    • html/code-email.ftl: HTML 格式的电子邮件模板。
    • text/code-email.ftl: 纯文本格式的电子邮件模板。
  • pom.xml: Maven 项目配置文件,包含项目依赖和构建配置。
  • README.md: 项目说明文档。

2. 项目的启动文件介绍

项目的启动文件主要是 EmailAuthenticatorFactory.javaOtpAuthenticatorFactory.java,这两个文件分别负责创建 EmailAuthenticatorOtpAuthenticator 实例。

EmailAuthenticatorFactory.java

package com.github.mesutpiskin.keycloak.authenticator.email;

import org.keycloak.authentication.Authenticator;
import org.keycloak.authentication.AuthenticatorFactory;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.provider.ProviderConfigProperty;

import java.util.List;

public class EmailAuthenticatorFactory implements AuthenticatorFactory {
    public static final String PROVIDER_ID = "email-authenticator";
    private static final EmailAuthenticator SINGLETON = new EmailAuthenticator();

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

    @Override
    public String getDisplayType() {
        return "Email Authenticator";
    }

    @Override
    public String getReferenceCategory() {
        return "email";
    }

    @Override
    public boolean isConfigurable() {
        return false;
    }

    @Override
    public AuthenticationExecutionModel.Requirement[] getRequirementChoices() {
        return new AuthenticationExecutionModel.Requirement[]{
                AuthenticationExecutionModel.Requirement.REQUIRED,
                AuthenticationExecutionModel.Requirement.ALTERNATIVE,

keycloak-2fa-email-authenticator🔒 Keycloak Authentication Provider implementation to get a two factor authentication with a OTP/code/token send via Email (through SMTP)项目地址:https://gitcode.com/gh_mirrors/ke/keycloak-2fa-email-authenticator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎云香

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值