2017-01-30 20 views
0

У меня есть сервер IdentityServer4, который использует идентификатор Asp.Net. Затем я включил двухфакторную аутентификацию для одного из пользователей. Затем я проверил, чтобы он отражал базу данных.Двухфакторная аутентификация -Identity Server

Теперь, когда я звоню,

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

Он всегда возвращает RequiresTwoFactor как ложь. Я был бы признателен, если бы кто-нибудь мог сказать мне, что бы это вызвало.

Примечание:

Я также добавил следующие строки кода в Startup.cs

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

ответ

0

Ok. Оказывается, что я пропускал следующий код

.AddDefaultTokenProviders(); 

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

Так оно и должно быть

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