Как указать URI ресурса при получении токена доступа для конечной точки Azure AD V2? - PullRequest
0 голосов
/ 30 ноября 2018

Я использовал ADAL.js в предыдущем проекте, который поддерживал только рабочие учетные записи и смог успешно получить идентификаторы, а затем получить доступ к API (ResourceURI: "https://myresource.com"). Работает нормально.

Теперь я пытаюсь использовать MSAL.js для другого проекта, потому что там мне нужно поддерживать обе рабочие учетные записи (aad auth) и персональные «учетные записи Microsoft» (MSA). Я столкнулся с проблемами, пытаясь теперьсделать то же самое, что и в моем проекте ADAL.

Концепция "Ресурс", по-видимому, исчезла из AAD V2 . Как определить URL-адрес ресурса при получении токена доступа кцелевой API? Чтобы итоговый токен доступа содержал ResourceURI в утверждении AUD (которое будет выполняться API, который я вызываю).

Если я принудительно добавлю параметр строки запроса ресурса, то есть:

msalapp.acquireTokenSilent([], null, null, "resource=https%3A%2F%2Fmyresource.com")

Я получаю следующую ошибку:

AADSTS901002: The 'resource' request parameter is not supported.

В документации сказано использовать SCOPE вместо этого, но с использованием:

msalapp.acquireTokenSilent(['https://myresource.com'])

приводит к:

AADSTS70011: The provided value for the input parameter 'scope' is not valid. The scope https://myresource.com openid profile is not valid. The scope format is invalid. Scope must be in a valid URI form <https://example/scope> or a valid Guid <guid/scope>..

Итак: как мне указать URI ресурса при получении токенов доступа при работе с конечной точкой v2 через MSAL.js? Извините (обычно довольно хорошие) статьи MSDN в этом случае вообще бесполезны ...

1 Ответ

0 голосов
/ 30 ноября 2018

В Azure AD v2.0 вам нужно использовать области, а не ресурсы.

Если у вас есть ресурс и вы хотите получить токен для всех разрешений, вы можете использовать: https://myresource.com/.default.

Вы также можете быть более мелким зерном: больше информации доступно от https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/Adal-to-Msal#scopes-for-a-v10-application (это на C #, но перевод прост)

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