import { HttpClientModule } from '@angular/common/http'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AuthModule, LogLevel, OidcConfigService } from 'angular-auth-oidc-client'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; export function configureAuth(oidcConfigService: OidcConfigService) { return () => oidcConfigService.withConfig({ stsServer: 'https://offeringsolutions-sts.azurewebsites.net', redirectUrl: window.location.origin, postLogoutRedirectUri: window.location.origin, clientId: 'angularCodeRefreshTokens', scope: 'openid profile email offline_access', responseType: 'code', silentRenew: true, useRefreshToken: true, logLevel: LogLevel.Debug, }); } @NgModule({ declarations: [AppComponent], imports: [BrowserModule, AppRoutingModule, AuthModule.forRoot(), HttpClientModule], providers: [ OidcConfigService, { provide: APP_INITIALIZER, useFactory: configureAuth, deps: [OidcConfigService], multi: true, }, ], bootstrap: [AppComponent], }) export class AppModule {}