Этот вопрос очень похож на вопрос, который был задан ранее в StackOverflow. Однако я получаю другую ошибку.
Сбой AadHttpClient при загрузке страницы SP с веб-частью SPFx в MSTeams Desktop Client
У меня также есть Sharepoint Онлайн-сайт , на котором у меня есть веб-часть SPFx , в которой используется AadHttpClient .
Эта веб-часть работает, если я перехожу на сайт Sharepoint из браузера или открываю веб-клиент MS Teams.
Знакомство с моей настройкой:
Вот краткий обзор шагов, с которыми я сталкиваюсь.
- Развертывание веб-части в SharePoint
- Просмотр веб-части в SharePoint - веб-часть отображается и загружается OK
- Добавить вкладку SharePoint в группах и привязать ее к странице с веб-частью
- Просмотреть вкладку в клиенте Teams Desktop - данные не загружаются в веб-часть (см. ниже)
- Просмотр вкладки в веб-клиенте Teams - веб-часть отображается и загружается OK
Когда я отлаживаю настольный клиент MS Teams, у меня есть этот вызов в вкладка «Сетевые запросы»:
https://{mytenant}.sharepoint.com/sites/{mysite}/_api/Microsoft.SharePoint.Internal.ClientSideComponent.Token.AcquireOBOToken?resource={GUID of my AAD app registration}&clientId={GUID of SharePoint Online Client Extensibility AAD app registration}
С ответом:
Ошибка 403:
{"odata.error": { "code": "- 2147024891, System.UnauthorizedAccessException", "message": {"lang": "en-US", "value": "Доступ запрещен. У вас нет прав доступа n, чтобы выполнить это действие или получить доступ к этому ресурсу. "}}}
Одним интересным наблюдением было то, что этот веб-запрос происходит только в настольном клиенте Microsoft Teams.
Мне интересно узнать почему это происходит только в настольном клиенте MS Teams, а не в веб-клиенте MS Teams или Sharepoint Online.
Обновление: 10/02/2020
Еще одно наблюдение: Мы попробовали ту же настройку на другом арендаторе (личный арендатор вместо нашего корпоративного арендатора). Мы заметили, что такое же поведение можно воспроизвести при включении MFA в Azure Active Directory.
Неудачный запрос:
https://{personal tenant}.sharepoint.com/sites/{site name}/_api/Microsoft.SharePoint.Internal.ClientSideComponent.Token.AcquireOBOToken?resource={GUID of the AD app registration}&clientId={GUID of the SPO Client Extensibility app registration}
Однако теперь возвращается ошибка 500 с ответом:
{"odata.error": {"code": "- 1, System.AggregateException", "message": {"lang ":" en-US "," value ":" Произошла одна или несколько ошибок. "}}}
Подобная проблема найдена (но другая ошибка) в Github: https://github.com/SharePoint/sp-dev-docs/issues/4915