Доступ к oneDrive для бизнеса из веб-приложения и пользователей. Является ли это возможным?

У меня есть бизнес-аккаунт в Microsoft и я хочу хранить в нем загруженные файлы пользователей.
Моя цель состоит в том, чтобы пользователи моего приложения PHP могли управлять файлами, загружать файлы, создавать папки и т. Д. В oneDrive для бизнеса. это может быть возможно?

Я зарегистрировал приложение php с учетной записью de microsoft business, и у меня есть идентификатор клиента и секрет.

например: client_id: ‘XXXX’

Сейчас я тестирую с моим личным аккаунтом. Я получаю токен доступа с использованием секретного и клиентского идентификатора бизнес-учетной записи и аутентифицируюсь с помощью своей личной учетной записи Microsoft.

Шаги, которые я использую для аутентификации:

GET https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
state=YYYY
&scope=openid+profile+directory.readwrite.all+files.readwrite.all
&response_type=code
&approval_prompt=auto
&client_id=XXXX
&redirect_uri=http%3A%2F%2Flocalhost%2Ftest

В этот момент Microsoft запрашивает форму входа пользователя, я аутентифицировался с моей личной учетной записью.

в URI перенаправления я получаю код de и отправляю запрос POST, чтобы получить токен доступа.

Теперь, на этом этапе и с токеном доступа, могут ли пользователи (в данном случае я) получить доступ к onedrive для бизнес-файлов / папок … и т. Д.? как? Какую конечную точку я должен использовать?

например, для доступа к диску:

https://graph.microsoft.com/v1.0/me/drive/root/children

мне Параметр Личный кабинет или Драйвер бизнес-аккаунта?

Я использую эти библиотеки для достижения своей цели:

  1. подключить учетную запись пользователя к Microsoft Graph Auth2 => https://github.com/microsoftgraph/php-connect-rest-sample

  2. запрос API ресурса
    https://github.com/microsoftgraph/msgraph-sdk-php/wiki/Example-calls

1

Решение

https://graph.microsoft.com/v1.0/me конечная точка предоставит вам информацию о зарегистрированном пользователе. Он должен предоставить вам такую ​​информацию, как идентификатор объекта Azure и UPN. / диск указывает на личный или служебный диск, в зависимости от того, какую учетную запись вы использовали во время аутентификации для получения токена доступа. Если вы позвоните в / drive, он также скажет вам, к какому типу дисков вы обращаетесь. Таким образом, OneDrive для бизнеса будет иметь driveType = «business», а OneDrive personal скажет driveType = «personal». Я рад видеть, что вы используете конечную точку AAD v2.0, поскольку она поддерживает аутентификацию для MSA и AAD. Если вы еще этого не сделали, вы можете прочитать об этом здесь:

https://developer.microsoft.com/en-us/graph/docs/authorization/auth_overview

И специально для аутентификации v2.0, попробуйте следующую статью:

https://developer.microsoft.com/en-us/graph/docs/authorization/converged_auth

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]