ASX*_*ASX 9 .net two-factor-authentication asp.net-mvc-5 asp.net-identity
背景:
我一直使用Identity-Sample由微软团队提供的项目在这里:
我已将Identity-Sample项目和预发布nuget包集成到现有项目中,该项目之前使用的是最新的稳定版Identity.
问题:
在尝试2FA时,在Account/SendCode方法内部,有一个调用GetVerifiedUserIdAsync() ,它是Microsoft.AspNet.Identity.Owin.SignInManager 类的一部分.(见这里的完整代码)
GetVerifiedUserIdAsync()返回null(即它找不到经过验证的用户,即使我已经使用1个因子登录.)我相信它找不到正确的cookie.
当我运行Identity-Sample应用程序时,我的浏览器显示_RequestVerificationTokenAND TwoFactorCookie和一切正常.
当我运行自己的应用程序时,我的浏览器只显示_RequestVerificationTokencookie和我得到的null.
问题:(如果cookie是问题)
如何在SignInManager.PasswordSignInAsync(...)调用方法(内部Account/Login)时让我的应用程序正确设置cookie ?
Suh*_*shi 15
在Startup.Auth类中注册cookie
app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));
Run Code Online (Sandbox Code Playgroud)
在"登录页面"发布操作中,如果使用新的SigninManager.PasswordSigninAsync,如果用户启用了2 FA,则会设置间歇性cookie,并返回SignInStatus.RequiresVerification.然后,您可以使用SigninManager.GetVerifiedUserAsync应返回用户ID
| 归档时间: |
|
| 查看次数: |
3311 次 |
| 最近记录: |