har*_*shr 5 authentication asp.net-identity .net-core
我尝试使用 asp.net 核心身份实现为我的应用程序使用 SMS OTP 实现一次性注册验证和每日登录。
它是一次性令牌,如果不使用它应该在 15 分钟后过期
用户应再次请求,以防过期或丢失
四处搜索,所有实现都提供了有关基于 MFA 或 Google 身份验证器的验证的详细信息,这种情况略有不同。
令牌不会由服务器生成,也不会由身份验证器应用程序生成。
我需要存储令牌及其生成的时间。
令牌将是 6 位短信。
这个场景更类似于password less auth 这里提到的,但是这种情况下的令牌没有存储,我需要用 Validity 存储它,不确定如何扩展 .net 核心身份以匹配上述要求。
这是相当标准的电话号码认证方式
我知道这不是标准的 SO 格式,但我不知从何开始
我知道这是一个老问题,但我发现自己在这里遇到了同样的问题,而且关于这方面的信息出奇地少。可能因为 Microsoft 建议使用 (2FA) 身份验证器应用程序,使用基于时间的一次性密码算法 (TOTP) 而不是带有 SMS/电子邮件的 OTP。
不是预期目的,但无论如何,以下内容将允许您生成并保存限时(3 分钟)的 6 位 OTP,将其与用户关联,然后使用它来使用 ASP.NET Core Identity 验证他们。
GenerateChangePhoneNumberTokenAsync
var code = await _userManager.GenerateChangePhoneNumberTokenAsync(user, model.PhoneNumber);
Run Code Online (Sandbox Code Playgroud)
和
VerifyChangePhoneNumberTokenAsync
bool valid = await _userManager.VerifyChangePhoneNumberTokenAsync(user, code, model.PhoneNumber);
Run Code Online (Sandbox Code Playgroud)
这可以在 Erik & paulsm4 发布的文档中看到
| 归档时间: |
|
| 查看次数: |
3457 次 |
| 最近记录: |