PasswordSignInAsync返回Success而不是RequiresVerification

问题描述 投票:1回答:1

我正在尝试在我们的应用上设置双因素身份验证。更新了AspNetUsers表中的用户,并将其TwoFactorEnabled值设置为1以进行测试。

在调试时,signInManager.PasswordSignInAsync只返回“成功”,而不是“需要验证”。

这就是这条线

signInStatus = await signInManager.PasswordSignInAsync(viewModel.Email, viewModel.Password, true, shouldLockout: false);

(通常会回答类似的问题,因为第一个值应该是名称而不是电子邮件,但我不认为这是问题。登录正常,例如,如果密码错误,则返回失败。)

我将下面的行添加到Startup.Auth.cs中

app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(10));

我仍然可以使用我喜欢的东西(虽然我不想)

    if (signInStatus == SignInStatus.Success && user.TwoFactorEnabled == true)
{
//rest of code to be written
}

但这感觉太过于临时解决方案而且容易出现许多未来的错误。我更喜欢使用Identity,但由于这个问题,我现在不能。

很明显,我做错了什么或遗失了什么,但我不知道是什么。提前致谢。

asp.net-mvc-5 two-factor-authentication
1个回答
0
投票

我通过将SignInManager代码直接复制到我的网站并通过它来找到我的解决方案,你可以在这里了解更多:https://stackoverflow.com/a/52357870/550975

© www.soinside.com 2019 - 2024. All rights reserved.