otp
v1.4.0: Minor Changes and Improvements
一次性密码 (OTP) 是一种提高密码安全性的机制。当基于时间的 OTP (TOTP) 存储在用户的手机上,并与用户知道的内容(密码)结合使用时,您可以轻松进入多重身份验证,而无需添加对 SMS 提供商的依赖。许多流行网站都使用此密码和 TOTP 组合,包括 Google、GitHub、Facebook、Salesforce 等。
otp
库使您能够轻松地将 TOTP 添加到您自己的应用程序中,从而提高用户针对大规模密码泄露和恶意软件的安全性。
由于 TOTP 是标准化的且广泛部署,因此有许多移动客户端和软件实现。
otp
支持:对于有效注册工作流程的示例,GitHub 已记录了他们的流程,但基础知识是:
key,_ := totp.Generate(...)
。key.Secret()
和key.Image(...)
。totp.Validate(...)
。key.Secret()
GenerateCode
函数和计数器或time.Time
结构来生成与大多数实现兼容的有效代码。GenerateCodeCustom
。totp.Validate(...)
当用户无法访问其 TOTP 设备时,他们将无法再访问其帐户。由于 TOTP 通常配置在可能丢失、被盗或损坏的移动设备上,因此这是一个常见问题。因此,许多提供商为用户提供“备份代码”或“恢复代码”。这些是一组一次性代码,可以用来代替 TOTP。这些可以是您存储在后端的随机生成的字符串。 Github 的文档提供了用户体验的概述。
请在 Github 中打开问题以获取想法、错误和一般想法。拉取请求当然是首选:)
otp
根据 Apache 许可证 2.0 版获得许可