Учетные данные клиента Azure дают клятву не работать в гибридной настройке для доступа к Graph Mail API - PullRequest
1 голос
/ 14 марта 2019

В гибридной настройке, если для получения токена используется тип предоставления учетных данных клиента и если этот токен используется для получения пользовательских сообщений (https://graph.microsoft.com/v1.0/users('onpremuser@onpremdomain.com')/messages/) с использованием Graph API), происходит сбой при предоставлении UnknownError.

При отладке в журналах IIS была показана ошибка «Этот профиль токена« V1S2SAppOnly »не применим для текущего протокола». error_category = "invalid_token".

Однако, если предоставить код авторизации или предоставить пароль владельца ресурса (ROPC), если он используется для получения токена, мы смогли получать сообщения от предварительного пользователя с помощью Graph API. Прикрепили скриншот токена для обоих. Как заставить учетные данные клиента предоставлять доступ для локальных пользовательских сообщений, используя Graph API (в гибридной настройке)?

Client credentials oath flow

ROPC oath flow

Обновление

Обновление. Я пошел и отредактировал web.config покоя на сервере Exchange, чтобы в профилях был V1S2SAppOnly. После этого предыдущая ошибка исчезает и появляется новая ошибка.

Знаменосец + client_id = "00000002-0000-0ff1-ce00-000000000000", + trusted_issuers = "00000001-0000-0000-c000-000000000000 @ ea6064aa-d6fc-48d3-abb8-1728e1f39e0b", + token_types = "app_asserted_user_v1 + service_asserted_app_v1 ", + error =" invalid_token "2000008; причина =" + токен + должен + иметь + действительные + разрешения + или + связанный + аккаунт + связанный + с + партнером + приложением + '00000003-0000-0000-c000 -000000000000 . "; error_category =" invalid_grant "

1 Ответ

1 голос
/ 14 марта 2019

Я думаю, что проблема в требовании aud, то есть аудитории для токена.

Для первого токена, которым вы поделились

  • aud значение 00000002-0000-0000-c000-000000000000. Это идентификатор ресурса для API графа Azure AD, а не API графа Microsoft. Для Microsoft Graph API вы должны использовать https://graph.microsoft.com или Id 00000003-0000-0000-c000-000000000000
  • этот токен, вероятно, тот, где вы использовали грант клиента, поскольку нет никаких пользовательских утверждений

Для второго токена, которым вы поделились

  • aud значение https://graph.microsoft.com, которое является правильным
  • этот токен получен в контексте имени пользователя anoop, поэтому я думаю, что он работает для вас.
...