2fa-util

中文文档
1.5.0发布于 2025/12/04MITCommonJS近 30 天下载 8715

轻量级工具可以生成带有QR代码的由两要素组成的TOTP秘密,由Google或微软认证器等认证器使用.

中文使用文档
文档目录12 节
  1. 现场直播
  2. 特征
  3. 安装
  4. 使用量
  5. 基本示例
  6. 高级验证( 自定义选项)
  7. API 参考
  8. generateSecret(label, [issuer])
  9. verify(token, secret, [options])
  10. generate(secret)
  11. 发展
  12. 许可证

二发式

Build Status License NPM Version

一个轻量级,强力的Node.js工具,用于生成"双倍认证"(TOTP)秘密,QR代码,并验证令牌. 可与Google认证器,微软认证器,和Authy兼容.

现场直播

特征

  • 简单设置:在一个函数调用中生成一个秘密和QR代码.
  • 标准兼容性: 与任何 RFC 6238 兼容验证器应用程序相配合.
  • 灵活核查: 支持自定义窗口、步骤和其他 otplib 选项.
  • 零依赖( 运行时间): 高效地装订必要的逻辑(使用) otplib 财务报告和审定财务报表 qrcode 盖下.

安装

npm install 2fa-util

使用量

基本示例

const { generateSecret, verify } = require('2fa-util');

(async () => {
    // 1. Generate a Secret and QR Code
    const { secret, qrcode, otpauth } = await generateSecret('[email protected]', 'MyApp');
    
    console.log('Secret:', secret);
    console.log('QR Code Data URL:', qrcode); // Display this in an <img src="...">

    // ... User scans QR code ...

    // 2. Verify a Token
    const userToken = '123456'; // Input from user
    const isValid = verify(userToken, secret);

    console.log('Is Valid:', isValid);
})();

高级验证( 自定义选项)

你可以通过标准 otplib 选项 verify 函数,例如 window (为时钟漂移)或 step。 。 。 .

const isValid = verify(token, secret, {
    window: 1, // Allow 1 step before/after (approx +/- 30sec)
    step: 60   // Custom step size in seconds
});

API 参考

generateSecret(label, [issuer])

生成一个新的TOTP秘密和相应的QR代码.

  • 标签 (string):用户名或账户标识符(如电子邮件).
  • 发行者 (string, optional): 您的应用程序或公司名称 .
  • 回返数字 : Promise<Object>
    • secret: Base32编码了密钥.
    • qrcode: QR 代码图像的数据 URI字符串(base64).
    • otpauth: 原始数据 otpauth:// URL (中文(简体) ).

verify(token, secret, [options])

验证一个TOTP的标志 与一个秘密.

  • 符号 (string):用户提供的6位数的代币.
  • 隐藏 (string):用户存储了密钥.
  • 选项 (Object, optional): 配置对象传递给 otplib。 。 。 .
  • 回返数字 : boolean (单位:千美元)true 如果有效, false (否则).

generate(secret)

为给定的秘密生成当前符号( 用于测试或 dev 工具) .

  • 隐藏 (string):密钥.
  • 回返数字 : string (目前6位数的符号).

发展

清除寄存器并安装依赖性 :

git clone https://github.com/jzhobes/2fa-util.git
cd 2fa-util
npm install

运行测试 :

npm test

运行林入 :

npm run lint

许可证

麻省理工学院 何约翰

版本与发布记录

2fa-util 共发布 9 个版本,首次发布于 2021/10/07;过去 12 个月发布了 1 个版本。

版本发布日期距今
1.5.0latest2025/12/0411 个月前
1.4.02025/03/041.7 年前
1.2.02023/05/153 年前
1.1.12021/11/025 年前
1.1.02021/10/145 年前
1.0.32021/10/125 年前

关于 2fa-util 的常见问题

2fa-util 是什么?

轻量级工具可以生成带有QR代码的由两要素组成的TOTP秘密,由Google或微软认证器等认证器使用.

如何安装 2fa-util?

在项目目录运行 npm install 2fa-util,或使用 pnpm add / yarn add / bun add。

2fa-util 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/2fa-util 是否存在。

2fa-util 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

2fa-util 可以商用吗?

2fa-util 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

2fa-util 的下载量有多少?

根据 npm 官方下载统计,2fa-util 在 2026/10/04 – 2026/11/02 这 30 天内被下载 8,715 次,日均约 291 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

2fa-util 还在维护吗?

最新版本 1.5.0 发布于 2025/12/04(11 个月前);至今共发布 9 个版本,其中过去 12 个月发布了 1 个;首次发布于 2021/10/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。