diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 9a5b5d9..b5fc7c0 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -21,6 +21,7 @@ import { MenuComponent } from './menu/menu.component'; import {RegisterDeviceComponent} from './registerdevice/registerdevice.component'; import { SecureOAuthStorage} from '@farmmaps/common'; import { OAuthStorage } from 'angular-oauth2-oidc'; +import {Id4AuthconfigFactory} from './id4AuthconfigFactory'; export const BOOTSTRAP_EFFECTS = new InjectionToken('Bootstrap Effects'); diff --git a/src/app/id4AuthconfigFactory.ts b/src/app/id4AuthconfigFactory.ts new file mode 100644 index 0000000..e9776e4 --- /dev/null +++ b/src/app/id4AuthconfigFactory.ts @@ -0,0 +1,21 @@ +import { IAuthconfigFactory, AppConfig } from '@farmmaps/common'; +import { AuthConfig } from 'angular-oauth2-oidc'; + +export class Id4AuthconfigFactory implements IAuthconfigFactory { + constructor() { + + } + + getAuthConfig(appConfig: AppConfig): AuthConfig { + let authConfig: AuthConfig = new AuthConfig(); + authConfig.issuer = appConfig.getConfig("issuer"); + authConfig.redirectUri = window.location.origin + "/cb"; + authConfig.clientId = appConfig.getConfig("clientId"); + authConfig.customQueryParams = { audience: appConfig.getConfig("audience") }; + authConfig.scope = "api offline_access"; + authConfig.disableAtHashCheck = true; + authConfig.responseType = "code"; + authConfig.requireHttps = appConfig.getConfig("requireHttps"); + return authConfig; + } +}