ASP.NET Identity 2.1 2FA配置

时间:2015-05-18 18:21:49

标签: asp.net-identity thinktecture-ident-server two-factor-authentication

当我们将Thinktecture身份服务器3与Microsoft ASP.NET Identity 2.1集成时,我们设法为我们的客户配置并启用2FA(Tow Factor Authentication)。问题是MS的默认实现使用TOTP,默认情况下其有效时间为180秒。对于某些其他应用程序,它可以接受,但是作为最大时间,这些TOTP代码有效不超过30秒。我们找不到为ASP.NET身份配置此属性的方法。任何人都可以帮助我将其默认值从180秒更改为30秒吗?

1 个答案:

答案 0 :(得分:0)

可悲的是,RFC6238 implementation在Asp.Net身份中是内部的,并且有硬编码的时间戳。 (L. 15)。但是拥有RFC6238TotpSecurityStampBasedTokenProvider的源代码应该很容易实现您的自定义TOTP,持续30秒。窗口。

无论如何,在RFC6238 section 6中有一个关于验证后退和/或前向令牌的推荐,因为可能"不同步"如果是外部应用程序或服务器,例如Google身份验证器,则为令牌生成器。

  

这意味着验证人可以对执行验证   当前时间,然后每个后退步骤的两个进一步验证
  (总共3次验证)。验证成功后,   验证服务器可以记录检测到的令牌的时钟漂移   就时间步数而言。当收到新的OTP时   在此步骤之后,验证器可以使用当前
来验证OTP   时间戳用记录的时间步时钟漂移数量调整   为了令牌。

所以30秒。窗口变成大约90秒的验证。