我有一个 Web 应用程序,前端是 Angular2,后端是 NodeJS。我希望允许客户使用 Google 身份验证器来使他们的帐户更安全。
如何在我的网站中实施/使用 Google 身份验证器?我找不到要使用的 API 或要遵循的教程或任何要使用的库。我在哪里可以找到一些资源来执行此操作?
您正在寻找的关键词是“TOTP”(基于时间的一次性密码) - 它是一个规范,而不是由 Google 维护的 API。
在非常高的级别上,您的后端将生成一个秘密,并将其与用户的 Google 身份验证器应用程序共享。登录时,身份验证器应用程序和您的后端都将使用存储的秘密和当前时间来生成一次性密钥。如果密钥匹配,则意味着密钥匹配,用户可以登录。
SpeakEasy 节点实现似乎在 github 上非常流行。