Aspnet Boilerplate GetValidTwoFactorProvidersAsync returns 一个空列表
Aspnet Boilerplate GetValidTwoFactorProvidersAsync returns an empty list
我正在使用 Aspnet Boilerplate 来管理多租户系统。我目前正在尝试打开 2 因素身份验证,该身份验证已嵌入样板中。我已经登录到主机并打开 2FA(因为我知道它不能在 tenanats 中打开,除非它首先在主机中打开)。执行此操作后,我现在可以看到在每个租户中打开 2FA 的设置(我已经完成了)。我的问题是,虽然确实要求主机用户提供预期的代码,但从来没有租户用户这样做。我已将其缩小到以下问题。成功登录后,这称为:
var signInResult = await _signInManager.SignInOrTwoFactorAsync(loginResult, loginModel.RememberMe);
这总是 returns RequiresTwoFactor == false
。这样做的原因是,在这个调用中,调用了:
GetValidTwoFactorProvidersAsync(TUser user)
依次调用 .NET Core 中的同名函数。此调用 returns 一个空列表,这意味着我没有注册 TwoFactor Providers。这很奇怪,因为作为主机登录我得到了供应商,但作为租户它 returns 是空的。有什么我想念的,为什么会发生这种情况。此外,在样板代码中,那些(电子邮件和 SMS)提供商首先注册的确切位置是什么?
上的 2FA 配置
但是 Aspnet Boilerplate 中没有包含双因素身份验证的实现。
这是 AspNetZero 中的一项功能,请参阅 https://aspnetzero.com/Documents/Development-Guide-Core#two-factor-login
我正在使用 Aspnet Boilerplate 来管理多租户系统。我目前正在尝试打开 2 因素身份验证,该身份验证已嵌入样板中。我已经登录到主机并打开 2FA(因为我知道它不能在 tenanats 中打开,除非它首先在主机中打开)。执行此操作后,我现在可以看到在每个租户中打开 2FA 的设置(我已经完成了)。我的问题是,虽然确实要求主机用户提供预期的代码,但从来没有租户用户这样做。我已将其缩小到以下问题。成功登录后,这称为:
var signInResult = await _signInManager.SignInOrTwoFactorAsync(loginResult, loginModel.RememberMe);
这总是 returns RequiresTwoFactor == false
。这样做的原因是,在这个调用中,调用了:
GetValidTwoFactorProvidersAsync(TUser user)
依次调用 .NET Core 中的同名函数。此调用 returns 一个空列表,这意味着我没有注册 TwoFactor Providers。这很奇怪,因为作为主机登录我得到了供应商,但作为租户它 returns 是空的。有什么我想念的,为什么会发生这种情况。此外,在样板代码中,那些(电子邮件和 SMS)提供商首先注册的确切位置是什么?
但是 Aspnet Boilerplate 中没有包含双因素身份验证的实现。
这是 AspNetZero 中的一项功能,请参阅 https://aspnetzero.com/Documents/Development-Guide-Core#two-factor-login