Я использовал 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 в этом случае вообще бесполезны ...