Azure AD: можно ли использовать токен доступа для данного приложения для получения токена доступа для другого приложения? - PullRequest
0 голосов
/ 06 марта 2020

Учитывая, что Azure AD под двумя приложениями одинакова, имеет смысл, что это должно быть возможно, однако я не уверен, как этого можно достичь? Любое предложение?

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Поток OID C, который вы описываете, называется от имени потока .

Существует образец MSAL, который покрывает его: https://github.com/Azure-Samples/active-directory-dotnet-native-aspnetcore-v2/tree/master/2.%20Web%20API%20now%20calls%20Microsoft%20Graph

0 голосов
/ 10 марта 2020

Вам необходимо узнать о refre sh токен .

Приложение может использовать этот токен для получения дополнительных токенов доступа после истечения срока действия текущего токена доступа. Refresh_tokens являются долгоживущими и могут использоваться для сохранения доступа к ресурсам в течение продолжительных периодов времени.

Поэтому вам необходимо получить токен refre sh при запросе первого токена доступа.

Тогда вы можете использовать этот refre sh токен, чтобы получить новый токен доступа для другого ресурса (или области).

// Разрывы строк только для разборчивости

POST /{tenant}/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&scope=https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
&refresh_token=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq...
&grant_type=refresh_token
&client_secret=JqQX2PNo9bpM0uEihUPzyrh      // NOTE: Only required for web apps. This secret needs to be URL-Encoded

Вы должны изменить scope. Если ваш первый токен доступа относится к ресурсам Microsoft Teams, вы можете изменить socpe на https://graph.microsoft.com/.default. Затем вы получите токен доступа для доступа к ресурсам Microsoft Graph.

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