【问题标题】:ASP.Net Core/Blazor Authentication using Authenticator app使用 Authenticator 应用程序的 ASP.Net Core/Blazor 身份验证
【发布时间】:2022-01-03 23:16:56
【问题描述】:

我正在为我的新 Blazor 应用程序研究无密码身份验证,大多数示例都指向基于电子邮件的身份验证,例如 medium.com 身份验证。

  • 用户注册
  • 发送到该邮箱的身份验证邮件
  • 用户点击邮件中的链接登录

是否存在类似的流程,其中使用 Authenticator 应用程序而不是电子邮件。喜欢

  • 用户注册
  • 二维码是根据email id + key生成的——类似于email链接
  • 用户扫描二维码添加到Authenticator app
  • 用户使用代码登录

所有未来的登录 - 用户输入电子邮件 ID,然后将通知发送到 Authenticator 应用程序或输入代码以登录。

【问题讨论】:

  • 嗯,这个链接并不是真正的登录链接——它是一个电子邮件确认链接,当您单击它时可能会/可能不会登录。我的问题是——一旦你用你的 APP 登录,有什么办法可以阻止其他人直接输入你的电子邮件并免费进入你的帐户?
  • 这不是电子邮件确认链接。它实际上是一个登录确认链接(无密码登录)。不确定“一旦登录”问题是什么意思。我说的是登录过程。

标签: asp.net-core authentication blazor


【解决方案1】:

您可以使用GoogleAuthenticator nuget 包来实现基于身份验证器应用的登录。您可以执行类似的操作来验证用户。

var accountSecretKey = $"{twoFactorSecretCode}-{user.Email}";
var twoFactorAuthenticator = new TwoFactorAuthenticator();
var result = twoFactorAuthenticator
    .ValidateTwoFactorPIN(accountSecretKey, profileViewModel.UserInputCode);

你可以找到更多关于实现的细节here

【讨论】:

    猜你喜欢
    • 2019-10-08
    • 2019-06-30
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2019-11-30
    • 2019-08-22
    • 2011-06-27
    相关资源
    最近更新 更多