我有一个Web应用程序,其前端为Angular2,后端为NodeJS。我想允许客户使用Google Authenticator来提高其帐户的安全性。

如何在我的网站中实现/使用Google Authenticator?我找不到要使用的API或要遵循的教程,也找不到任何要使用的库。在哪里可以找到一些资源来做到这一点?

最佳答案

您要查找的关键词是“TOTP”(基于时间的一次性密码)-它是specification,而不是Google维护的API。

在很高的级别上,您的后端将生成一个 secret ,并将其与用户的Google Authenticator应用共享。登录时,Authenticator应用程序和您的后端都使用存储的 secret 和当前时间来生成一次性 key 。如果 key 匹配,则表示 secret 匹配,并且用户可以登录。

SpeakEasy节点实现似乎在github上非常流行。

10-08 13:14