#angular #azure-active-directory #msal #msal-angular
Вопрос:
Я обновился до @azure/msal-angular v2 с версии v1. И я не могу понять, как настроить его для отправки маркера доступа на мой сервер, размещенный в том же домене.
Поэтому, когда мой интерфейс делает запрос /api/foo
MsalInterceptor
, я должен прикрепить свой токен доступа в формате версии 2, а не версии 1.
Это заставляет его отправлять токен доступа версии 1
const msalInterceptorConfig: MsalInterceptorConfiguration = {
interactionType: InteractionType.Redirect,
protectedResourceMap: new Map([
['/', ['openid']],
]),
};
Мне удалось «обмануть» его, добавив
const msalInterceptorConfig: MsalInterceptorConfiguration = {
interactionType: InteractionType.Redirect,
protectedResourceMap: new Map([
['/', [`api://${clientId}/access_as_user`]],
]),
};
Но потом Азурид начинает жаловаться
AADSTS90009: Приложение запрашивает токен для себя. Этот сценарий поддерживается только в том случае, если ресурс указан с использованием идентификатора приложения на основе идентификатора GUID
Так что это не вариант. Как я могу MsalInterceptor
отправить токен доступа версии 2 на /
?
Ответ №1:
Я не знаю, является ли это правильным способом или даже намеренным поведением. Но следующая конфигурация отправляет маркер доступа версии 2 на мой сервер.
const msalInterceptorConfig: MsalInterceptorConfiguration = {
interactionType: InteractionType.Redirect,
protectedResourceMap: new Map([
['/', [`${clientId}/openid`]],
]),
};