Ege*_*rak 5 two-factor-authentication asp.net-mvc-5
我实现了两因素身份验证,但按照本教程
我想让代码在单次使用后过期。
现在,用户在到期时间(设置为 5 分钟)完成期间收到相同的代码。有没有办法让代码一次性使用?我找不到关于这个主题的任何内容。
您链接到的教程中有一条注释说:
2FA 代码是使用基于时间的一次性密码算法生成的,代码的有效期为六分钟。如果您输入代码的时间超过六分钟,您将收到“代码无效”错误消息。
因此,使用此方法,您无法使代码在用户使用后过期。
作为补充,您可以保留已使用的代码存储,并在验证代码之前对照该存储进行检查。您可以允许代码在 6 分钟后(这是它们的自然到期时间)在该商店中过期,但同时使用它们来拒绝第二次身份验证。
或者,您可以选择避免使用 TOTP 方法,并生成一个随机代码,在发送短信或电子邮件之前针对您的用户存储该代码。然后,当用户使用该代码进行身份验证时,您可以检查该代码,并在此时删除或使该代码无效。使用 TOTP 意味着您可以扩展此 2FA,以使用基于身份验证器应用程序的流程进行身份验证,这比 SMS 或电子邮件更安全。
| 归档时间: |
|
| 查看次数: |
2975 次 |
| 最近记录: |