Я пытаюсь настроить приложение Angular на использование @ azure / msal-angular. Я настроил MsalModule так:
import { NgModule } from "@angular/core";
import { MsalModule, MsalInterceptor } from "@azure/msal-angular";
import { HTTP_INTERCEPTORS } from "@angular/common/http";
console.log(`window populated: ${(window as any).APP_SETTINGS.aadAppClientId}`);
export const msalModuleForRoot = MsalModule.forRoot({
clientID: (<any>window).APP_SETTINGS.aadAppClientId,
});
@NgModule({
imports: [
msalModuleForRoot,
],
exports: [
MsalModule
],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: MsalInterceptor,
multi: true
},
],
})
export class AppMsalModule { }
Этот модуль импортирован в мой app.module.browser.ts. Журнал консоли выводит мой идентификатор клиента успешно.
Затем в своем app.routing.ts я добавил MsalGuard на маршруты, требующие авторизации.
То, что я вижу: эти маршруты перенаправляются на экран входа в систему, как и ожидалось, но когда вы аутентифицируетесь, он просит дать разрешение «myTrialApp», которое не является именем моего приложения.
При ближайшем рассмотрении MsalGuard в отладчике я вижу, что идентификатор клиента, который он использует, не определен. Я пытаюсь понять, что мне нужно изменить, чтобы убедиться, что на странице входа используется правильный идентификатор клиента.