如何将 Google 验证器添加到我的网站?

How to add Google Authenticator to my website?

我有一个 Web 应用程序,前端是 Angular2,后端是 NodeJS。我想让客户使用 Google 身份验证器来使他们的帐户更安全。

如何在我的网站上 implement/use Google 验证器?我找不到要使用的 API 或要遵循的教程或要使用的任何库。我在哪里可以找到一些资源来执行此操作?

您要查找的关键短语是“TOTP”(基于时间的一次性密码)- 它是 specification,而不是由 [= 维护的 API 20=].

在非常高的级别上,您的后端将生成一个秘密,它将与您用户的 Google 身份验证器应用共享。登录时,Authenticator 应用程序和您的后端都使用存储的秘密和当前时间来生成一次性密钥。如果密钥匹配,则意味着秘密匹配,用户可以登录。

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