33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideAppInitializer, inject } from '@angular/core';
|
|
import { provideRouter } from '@angular/router';
|
|
import { provideHttpClient } from '@angular/common/http';
|
|
import { provideOAuthClient, OAuthService } from 'angular-oauth2-oidc';
|
|
|
|
import { routes } from './app.routes';
|
|
import { ConfigService } from './config.service';
|
|
|
|
export const appConfig: ApplicationConfig = {
|
|
providers: [
|
|
provideBrowserGlobalErrorListeners(),
|
|
provideRouter(routes),
|
|
provideHttpClient(),
|
|
provideOAuthClient(),
|
|
provideAppInitializer(() => {
|
|
const configService = inject(ConfigService);
|
|
const oauthService = inject(OAuthService);
|
|
return configService.loadConfig().then(() => {
|
|
oauthService.configure({
|
|
issuer: configService.oidcIssuer,
|
|
redirectUri: window.location.origin + '/',
|
|
clientId: configService.clientId,
|
|
responseType: 'code',
|
|
scope: 'openid profile email',
|
|
showDebugInformation: true,
|
|
requireHttps: false
|
|
});
|
|
return oauthService.loadDiscoveryDocumentAndTryLogin();
|
|
});
|
|
})
|
|
]
|
|
};
|