Есть ли способ использовать проверку подлинности AspNetUsers Identity 2.0 (Azure SQL) И OpenIdConnect (для использования Azure Active Directory)? - PullRequest
0 голосов
/ 12 марта 2019

Важная идея ... Пользователь вводит свою электронную почту для входа. Мы смотрим, использует ли их компания Azure Active Directory (Azure AD) или нет.Если это так, обратитесь в Microsoft для входа. Если нет, войдите в систему с помощью Identity 2.0 и таблицы AspNetUsers в базе данных SQL Azure.

Кажется выполнимым ... Вы можете отправлять пользователей на разные страницы входа на основев профиле своей компании и позвоните, если они используют Azure AD ...

 HttpContext.GetOwinContext().Authentication.Challenge(
      new AuthenticationProperties { RedirectUri = "/" },
      OpenIdConnectAuthenticationDefaults.AuthenticationType);

Или позвоните, если они не ...

    var result = await SignInManager.PasswordSignInAsync(model.Email, 
         model.Password, model.RememberMe, shouldLockout: ShouldLockout);

Проблема?При подключении Аутентификации вы можете использовать только один cookiesAuthenticationOptions в app.UseCookieAuthentication(cookieAuthenticationOptions).

И кажется, что эти два метода входа имеют очень разные параметры.

Есть ли способ, чтобы эти два метода аутентификации мирно сосуществовали? Или один должен выбрать один или другой?

1 Ответ

0 голосов
/ 26 марта 2019

На мой взгляд, вы должны настроить обе схемы аутентификации в файле запуска. В идеале он должен иметь отдельный модуль для аутентификации, один для аутентификации в Azure AD, а другой - для Identity 2.0.

Вы не должны смешивать это. Кроме того, в вашем веб-приложении вы можете выбрать один из двух вариантов входа: один для Azure AD, а другой - для удостоверения. Также, если вы хотите оставить только один вариант, лучше использовать Azure AD для проверки подлинности.

Вы можете синхронизировать всех своих пользователей в AD, а позже вы можете проходить аутентификацию только в AD.

...