Google身份验证器集成

时间:2018-02-05 11:09:36

标签: asp.net angular two-factor-authentication google-authenticator

我正在为Asp.net建立一个网站用于后端,而Angular 5用于前端。现在,我想将2FA Google身份验证器集成到站点中以进行登录保护。我搜索了一些建议,但找不到合适的建议。任何人都知道任何好的教程或文档来整合这个2FA?提前谢谢。

2 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

您可能会找到this tutorial from the Microsoft documentation helps。它是在2015年写的,所以要注意过时的API。

您也可以考虑将Authy用于2FA,Twilio网站上提供了integrating the Authy API with ASP.NET的教程。

让我知道这是否有帮助。

答案 1 :(得分:1)

简而言之,这里是2FA应该具有的工作流程:

  1. 创造(一次)
    1. 生成了秘密
    2. 秘密被传递到服务器
    3. 机密会传递给用户:一种流行的方式是根据机密生成QR码,并要求用户使用Google Authenticator对其进行扫描。
  2. 身份验证(此后每次)
    1. 用户输入Google身份验证器为此应用程序和当前30秒窗口生成的凭据+ 6位数字令牌
    2. 服务器可以使用他在步骤1中保存的机密来检查令牌的有效性。

请注意,服务器和Google Authenticator无需通信-令牌生成基于时间+机密。因此,您只需要一个用于生成和检查机密的库即可:此任务称为TOTP(基于时间的一次性密码算法),您可以找到RFC here

幸运的是,有许多工具可以简化工作:例如,Speakeasy是对Angular友好的,您可以在1导入和20行中实现TOTP。

哦,对于生成QR码,qrcode软件包可与Angular和Speakeasy一起非常顺畅地工作。