双重身份验证-身份服务器
Two factor authentication -Identity Server
我构建了一个 IdentityServer4 服务器,它使用 Asp.Net Identity。然后,我为其中一位用户启用了双重身份验证。然后我查看它是否反映了数据库。
现在,当我打电话时,
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false)
它总是 returns RequiresTwoFactor 为 false。如果有人能告诉我是什么原因造成的,我将不胜感激。
注:
我还在Startup.cs
中添加了以下代码行
services.AddTransient<IEmailSender, AuthVerification>();
services.AddTransient<ISmsSEnder, AuthVerification>();
好的。原来我少了下面的代码
.AddDefaultTokenProviders();
在services.AddIdentity<ApplicationUser, IdentityRole>().AddEntityFrameworkStores<AppDBContext>()
所以应该是
services.AddIdentity<ApplicationUser, IdentityRole>().AddEntityFrameworkStores<AppDBContext>().AddDefaultTokenProviders();
我构建了一个 IdentityServer4 服务器,它使用 Asp.Net Identity。然后,我为其中一位用户启用了双重身份验证。然后我查看它是否反映了数据库。
现在,当我打电话时,
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false)
它总是 returns RequiresTwoFactor 为 false。如果有人能告诉我是什么原因造成的,我将不胜感激。
注:
我还在Startup.cs
中添加了以下代码行services.AddTransient<IEmailSender, AuthVerification>();
services.AddTransient<ISmsSEnder, AuthVerification>();
好的。原来我少了下面的代码
.AddDefaultTokenProviders();
在services.AddIdentity<ApplicationUser, IdentityRole>().AddEntityFrameworkStores<AppDBContext>()
所以应该是
services.AddIdentity<ApplicationUser, IdentityRole>().AddEntityFrameworkStores<AppDBContext>().AddDefaultTokenProviders();