ASP.NET标识二因素不起作用-Cookie问题



背景:

我一直在使用微软团队提供的Identity-Sample项目:

我已经集成了CCD_ 2项目&将nuget包预发布到现有项目中,该项目以前使用的是Identity的最新稳定版本。

问题:

当尝试2FA时,在Account/SendCode方法内部,有一个对GetVerifiedUserIdAsync()的调用,它是Microsoft.AspNet.Identity.Owin.SignInManager类的一部分。(请参阅此处的完整代码(

GetVerifiedUserIdAsync()返回null(即,它找不到经过验证的用户,即使我已使用1因子登录。(我认为它没有找到正确的cookie

当我运行Identity-Sample应用程序时,我的浏览器显示_RequestVerificationToken AND TwoFactorCookie&一切正常。

当我运行自己的应用程序时,我的浏览器只显示_RequestVerificationToken cookie&我得到null

问题:(如果cookie是问题所在(

当调用SignInManager.PasswordSignInAsync(...)方法时(在Account/Login内部(,我如何让我的应用程序正确设置cookie?

在Startup.Auth类中注册cookie

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

在登录页面后操作中,如果您使用新的SigninManager.PasswordSigninAsync,它将在用户上启用2 FA的情况下设置间歇性cookie,并返回SignInStatus.RequiresVerification。然后您可以使用SigninManager.GetVerifiedUserAsync应返回用户ID

相关内容

  • 没有找到相关文章

最新更新