У меня есть веб-приложение .NET Core 2.2 MVC, и оно поддерживает 2 типа аутентификации:
- Логин / пароль и локальная база данных;
- Azure AD.
Мне нужен способ узнать, как аутентифицируется текущий пользователь. До сих пор я мог думать только о проверке значения Issuer
самого первого утверждения:
string authType = HttpContext.User.Claims.ElementAt(0).Issuer;
Вот значения, которые я получаю в зависимости от типа аутентификации:
LOCAL AUTHORITY
https://login.microsoftonline.com/TENANT-ID-HERE/v2.0
Так что вроде все работает, но полагаться на первый элемент списка (Claims.ElementAt(0)
) мне не очень хорошо.
Есть ли другой способ, что-то вроде HttpContext.User.AuthenticationProvider.Name
?