passport-azure-ad / msal.js и динамические области видимости - PullRequest
0 голосов
/ 21 июня 2019

Azure AD v2.0 рассматривает одно из их преимуществ как динамическое согласие (https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/api-scopes#request-dynamic-scopes-for-incremental-consent).

Как это должно выглядеть? Я думал, что типичным вариантом использования будет предоставление ролей / областей применения к определенной конечной точке. Например, аннотация @OAuthBearer() на:

@Get("/hello-auth")
@OAuthBearer({"scopes": ["app.special.scope"]})
helloAuth() {
    return {text: "Authorised hello"};
}

Я не могу найти информацию о том, как это сделать. Мне кажется (глядя на диаграмму протокола на https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-implicit-grant-flow#protocol-diagram), что passport-azure-ad выполняет только одно действие - получение токена на предъявителя и его проверку. Это имеет смысл, но тогда как оцениваются области действия для аннотации, поскольку они на стороне сервера и, следовательно, клиенту неизвестно, что они включены в токен?

Я спросил это в https://github.com/AzureAD/passport-azure-ad/issues/430, но мой контракт заканчивается на следующей неделе, и я хочу закончить это, поэтому добавьте это в кросс-пост.

Как и в этом посте, я подумал об использовании библиотеки msal.js, но не понимаю, как бы я это сделал.

Есть ли лучший подход к этой проблеме?

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