При работе с локальной копией нашего приложения Angular нам необходим доступ к API на сервере dev.Однако, поскольку переход на использование msal-angular больше не работает, он возвращает 401 и входит в цикл перенаправления.
Я не уверен, что есть конфигурация, которой нам не хватает, чтобы это работало.Это работало нормально, когда мы использовали adal, но нам нужны токены V2 для API сейчас.
export const protectedResourceMap: [string, string[]][] = [
['https://graph.microsoft.com/v1.0/me', ['user.read']]
];
...
imports: [
MsalModule.forRoot({
clientID: 'Azure-App-Id',
authority: 'https://login.microsoftonline.com/Azure-Tenant-Id',
validateAuthority: true,
redirectUri: window.location.origin,
navigateToLoginRequestUrl: false,
cacheLocation: 'localStorage',
popUp: false,
protectedResourceMap: protectedResourceMap
})
],
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: MsalInterceptor, multi: true }
],
...
Выше моя конфигурация в app.module.ts.
Это прекрасно работает, когда яЗапустите мое угловое приложение с http://localhost:4200 на моем основном веб-интерфейсе asp.net, запустите из Visual Studio на https://localhost:5600.
Оно также работает нормально при развертывании на сервере.Однако, если я изменю приложение Angular в среде dev на использование api серверов (http://localhost:4200 -> https://www.api.azurewebsite.net),, мы всегда получим ошибки аутентификации, поскольку приложение Angular не отправляет токен носителя, как это происходит надругие два случая.
Надеюсь, этого достаточно.
Спасибо.