认证与权限安全
你当前正在浏览历史版本 Vert.x 5.1.10 的文档。 访问本页面的 最新版本。

OTP 一次性密码认证提供者 (vertx-auth-otp)

该组件提供了基于一次性动态密码(One-Time Password, OTP)的 AuthenticationProvider 认证实现。 模块全面支持 Google Authenticator(谷歌身份验证器),你可以选用任意二维码生成库将密钥转为二维码展示,或者直接向客户端传递 Base32 编码的密钥字符串。

要在项目中使用该组件,请在构建描述文件中添加以下依赖:

  • Maven(在 pom.xml 中):

<dependency>
  <groupId>io.vertx</groupId>
  <artifactId>vertx-auth-otp</artifactId>
  <version>5.1.10</version>
</dependency>
  • Gradle(在 build.gradle 文件中):

compile 'io.vertx:vertx-auth-otp:5.1.10'

基于事件计数的一次性密码认证 (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 字段。