#totp #2fa #two-factor

eztotp

易于使用的TOTP解决方案

1个不稳定版本

0.1.0 2022年3月10日

#1022 in 认证

LGPL-3.0-or-later OR MPL-2.0

12KB
123

Crates.io docs.rs Crates.io

此crate提供了一款现成的TOTP解决方案。

它支持一些与TOTP无关的功能

  • 刮卡代码:在紧急情况下可以使用,可提高用户体验。
  • 禁止代码重用:为了保证安全性,在单次时间框架内只允许一次成功的尝试。

这些功能需要你在每次成功尝试后保存结构体。为了简化,serde::Serializeserde::Deserialize 在它上面派生。

在现实生活中禁用代码重用

不要忘记在你的数据库(或你持久化的结构体)中使用独占锁来确保加载-验证-保存过程是原子的,否则即使你禁用了代码重用,攻击者也可能重用代码。

许可证

eztotp是自由软件:你可以根据以下许可证之一重新分发它或修改它

  • Mozilla Public License,第2.0版。
  • GNU Lesser General Public License,许可证的第3版,或者(根据你的选择)任何更新的版本。

eztotp的分发是希望它将是有用的,但没有任何保证;甚至没有关于适销性或特定用途的暗示保证。

你应该已经随eztotp一起收到了GNU Lesser General Public License和Mozilla Public License的副本。如果没有,请参见

依赖项

~1–1.6MB
~35K SLoC