Получение 401 неавторизованной ошибки при извлечении методов аутентификации - PullRequest
0 голосов
/ 09 июля 2020

Я новичок в Microsoft Graph API, и у нас есть требования для использования методов аутентификации пользователей, которые вошли в систему с помощью политики Azure AD B2 C. , при вызове приведенного ниже кода из приложения обнаружено сообщение «401 - Неавторизовано» и отображается «Пользователь не прошел проверку подлинности».

Graph API

https://graph.microsoft.com/beta/me/authentication/methods/

Ошибка в приложении:

AggregateException: One or more errors occurred. (Error Calling the Graph API:
{
"error": {
"code": "unauthenticated",
"message": "The user is unauthenticated.",
"innerError": {
"message": "The user is unauthenticated.",
"date": "2020-07-09T11:07:29",
"request-id": "bea50bdf-28f6-4a67-a5a4-3aacd8f23251"
}
}
})

Я также предоставил соответствующее разрешение API при регистрации приложения в Azure.

Type: Delegated
Permission: UserAuthenticationMethod.Read, UserAuthenticationMethod.Read.All

Я наткнулся на документация где «Приложение» не поддерживается.

Снимок экрана: Разрешение

Вопрос:

Могу ли я узнать, является ли это причиной того, что я обнаружил ошибку «401 - авторизован» и показывает ошибку «Пользователь не прошел проверку подлинности», поскольку получение методов проверки подлинности из приложения еще не поддерживается? Или, возможно, отсутствуют разрешения, которые я еще не рассматривал.

Спасибо.

1 Ответ

0 голосов
/ 09 июля 2020

Если вы используете приложение Daemon, то ошибка аутентификации кода состояния 401 здесь в основном связана с разрешениями приложения, которые не поддерживаются и относятся к этой аналогичной проблеме , даже если вы укажете делегированные разрешения, поскольку в сценарии демона не будет ни одного пользователя для входа в систему, вы столкнетесь с этой проблемой. Если вы используете сценарий делегированных разрешений, вы получите эти сведения, как показано ниже.

enter image description here

Here the Graph explorer acts as an application and the user logs in and set required permission and roles and call the endpoint, it succeeds as shown above.

The required permissions for doing these operations are shown здесь .

Если вы хотите проверить другие методы аутентификации пользователей вам необходимо иметь одну из этих ролей.

  • Глобальный администратор
  • Глобальный считыватель
  • Администратор привилегированной аутентификации
  • Администратор аутентификации (видит только телефон в маске числа)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...