Sharepoint Online REST API с проверкой подлинности Azure AD версии 2.0

Можно ли пройти аутентификацию в Sharepoint Online REST API с помощью аутентификации приложения Azure AD версии 2.0? Если да, какую область следует использовать для запроса разрешений. Теперь (для использования API MS Graph) я запрашиваю "https://graph.microsoft.com/.default" в качестве области, но не нашел альтернативы этому для Sharepoint Online REST API.

Я уже зарегистрировал приложение на apps.dev.miscrosoft.com, это приложение доступно на portal.azure.com. Там я добавил необходимые разрешения для Sharepoint Online.


person zamazan4ik    schedule 11.03.2019    source источник


Ответы (2)


Это должна быть та же аутентификация с Azure AD, искомая область должна быть областью сайта.

https://docs.microsoft.com/en-us/graph/permissions-reference?view=graph-rest-beta#sites-permissions

У вас нет сайтов SharePoint для проверки, но если приложению предоставлено разрешение, вы сможете запрашивать сайт SharePoint с помощью API Azure Graph.

https://docs.microsoft.com/en-us/graph/api/resources/sharepoint?view=graph-rest-beta

Обзор

https://docs.microsoft.com/en-us/graph/sharepoint-concept-overview

person Hannel    schedule 11.03.2019

Да, ты можешь. Для этого сначала вам нужно получить новый токен доступа, используя обычный токен обновления, который вы уже получили для графа:

POST https://login.microsoftonline.com/{{tenantName}}/oauth2/v2.0/token

За исключением, в этот раз передайте следующее для заголовка области:

https://{{tenantName}}.sharepoint.com/Sites.Read.All

Ваше приложение должно быть уже одобрено для этой области и т. д.

Ответ даст вам доступ к токену, который можно снова использовать SPO API.

person Chris Johnson    schedule 11.03.2019
comment
Да, это работает. Спасибо. Можно ли запросить более одной области действия для одного токена? Например. Я хочу получить доступ к Sharepoint REST API и MS Graph API. Я попытался написать заголовок области, например FirstScope SecondScope, но это не удалось. - person zamazan4ik; 13.03.2019
comment
@zamazan4ik вы их кодируете по URL? то есть offline_access%20user.read%20mail.read ? - person Chris Johnson; 13.03.2019
comment
Да, вот так. https://graph.microsoft.com/.default%20https://mysite.sharepoint.com/.default - person zamazan4ik; 14.03.2019