<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-auth-otp</artifactId>
<version>5.0.12</version>
</dependency>
认证与权限安全
你当前正在浏览历史版本 Vert.x 4.5.35 的文档。 访问本页面的 最新版本。
OTP 一次性密码认证提供者 (vertx-auth-otp)
该组件提供了基于一次性动态密码(One-Time Password, OTP)的 AuthenticationProvider 认证实现。
模块全面支持 Google Authenticator(谷歌身份验证器),你可以选用任意二维码生成库将密钥转为二维码展示,或者直接向客户端传递 Base32 编码的密钥字符串。
要在项目中使用该组件,请在构建描述文件中添加以下依赖:
-
Maven(在
pom.xml中):
-
Gradle(在
build.gradle文件中):
compile 'io.vertx:vertx-auth-otp:5.0.12'
基于事件计数的一次性密码认证 (HOTP)
通过 HotpAuth.create 创建 HOTP 认证提供者实例:
HOTP 参数配置
类 HotpAuthOptions 用于配置 HOTP 认证提供者选项:
passwordLength-
动态验证码的长度,有效范围为 6 到 8 位,默认值为 6。
authAttemptsLimit-
认证尝试次数上限。
lookAheadWindow-
用于重新同步计数器偏差的向前滑动窗口大小。
注意事项
在使用该实现进行身份验证时,认证凭据中必须包含 identifier、key 和 counter 字段。
基于时间戳的一次性密码认证 (TOTP)
通过 TotpAuth.create 创建 TOTP 认证提供者实例:
TOTP 参数配置
类 TotpAuthOptions 用于配置 TOTP 认证提供者选项:
passwordLength-
动态验证码的长度,有效范围为 6 到 8 位,默认值为 6。
authAttemptsLimit-
认证尝试次数上限。
period-
动态验证码的有效时间窗口(以秒为单位),默认值为 30 秒。
注意事项
在使用该实现进行身份验证时,认证凭据中必须包含 identifier 和 key 字段。