import { AuthConfig } from 'angular-oauth2-oidc'; import {AppConfig} from './app.config'; export interface IAuthconfigFactory { getAuthConfig(appConfig: AppConfig): AuthConfig; } export class AuthConfigFactory implements IAuthconfigFactory { getAuthConfig(appConfig: AppConfig): AuthConfig { const authConfig: AuthConfig = new AuthConfig(); authConfig.issuer = appConfig.getConfig("issuer"); authConfig.redirectUri = window.location.origin + "/cb"; authConfig.silentRefreshRedirectUri = window.location.origin + "/silent-refresh.html"; authConfig.clientId = appConfig.getConfig("clientId"); authConfig.customQueryParams = { audience: appConfig.getConfig("audience") }; authConfig.scope = "openid profile email"; authConfig.oidc = true; authConfig.disableAtHashCheck = true; authConfig.requireHttps = appConfig.getConfig("requireHttps"); return authConfig; } }