Может ли гостевой пользователь (Azure AD B2B) вызвать график со страницы sharepoint (используя, скажем, веб-часть spfx) - PullRequest
0 голосов
/ 11 сентября 2018

Теперь, когда spfx 1.6 запущен, у нас появилась поддержка вызова API-интерфейсов Azure Ad Secure, таких как Microsoft Graph и Azure Functions.

Я использовал примеры из https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient, чтобы создать простую страницу, которая вызывает график.

Я немного расширил этот пример, чтобы вызвать функцию Azure, которая сама защищена через Azure AD.

Веб-часть spfx вызывает следующий граф api:

https://graph.microsoft.com/v1.0/users?$select=displayName,mail,userPrincipalName&$filter=(givenName%20eq%20%27Sender%27)%20or%20(surname%20eq%20%27Sender%27)%20or%20(displayName%20eq%20%27Sender%27)

Функция лазури очень проста:

https:? //.Azurewebsites.net/api/GetUserDetails имя = Отправитель

Если я вошел в систему как обычный пользователь арендатора, я могу успешно вызвать graph api и функцию azure.

если я пытаюсь перейти на страницу как пользователь Azure AD B2B, я могу успешно вызвать функцию Azure, но вызов графика встречается со следующим ответом:

{
  "error": {
    "code": "Authorization_RequestDenied",
    "message": "Guest users are not allowed to perform this action.",
    "innerError": {
      "request-id": "4b862c51-70db-4ed0-ab5d-861197ae2512",
      "date": "2018-09-11T09:27:26"
    }
  }
}

Теперь я понимаю, что у пользователя Azure AD B2B возникнут проблемы с вызовом определенных API-интерфейсов для графов, и, возможно, один из таких API-интерфейсов / users - но я хотел бы знать, есть ли какие-либо документы, которые могут сказать мне, какой API-интерфейс для графов B2B пользователь может позвонить?

Например, могу ли я предоставить пользователю B2B список всех команд Microsoft, членом которых он является, в моем арендаторе?

Для справки, я пробовал это с двумя типами пользователей B2B. Первая - стандартная учетная запись Microsoft @ outlook.com, вторая - организационная учетная запись другого клиента Office 365. Оба пользователя имеют одинаковое возвращаемое значение из вызова API api.

1 Ответ

0 голосов
/ 11 сентября 2018

По вашему вопросу1: Официальные документы не сообщают нам, какой API-интерфейс графа может вызывать пользователь B2B, они должны сами проверить его.

Вопрос 2. Пользователь B2B должен иметь доступ к API команд.они являются членами.

Ссылка:

https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/connect-to-api-secured-with-aad

https://github.com/microsoftgraph/msgraph-training-spfx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...