双因素身份验证-Identity Server

时间:2017-01-30 22:57:36

标签: asp.net-identity identity identityserver4

我已经构建了一个使用Asp.Net Identity的IdentityServer4服务器。然后,我为其中一个用户启用了双因素身份验证。然后我检查它是否反映了数据库。

现在,当我打电话时,

var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false)

它始终将RequiresTwoFactor返回为false。如果有人能告诉我导致它的原因,我将不胜感激。

注意:

我还在Startup.cs中添加了以下代码行

services.AddTransient<IEmailSender, AuthVerification>();
services.AddTransient<ISmsSEnder, AuthVerification>();

1 个答案:

答案 0 :(得分:0)

确定。事实证明我错过了以下代码

.AddDefaultTokenProviders();

services.AddIdentity<ApplicationUser, IdentityRole>().AddEntityFrameworkStores<AppDBContext>()

所以它应该是

services.AddIdentity<ApplicationUser, IdentityRole>().AddEntityFrameworkStores<AppDBContext>().AddDefaultTokenProviders();