diff --git a/src/app/nav/nav.component.html b/src/app/nav/nav.component.html
index 12d49a81..bb3e0831 100644
--- a/src/app/nav/nav.component.html
+++ b/src/app/nav/nav.component.html
@@ -85,9 +85,9 @@
WHARF
-
+
-
+
diff --git a/src/app/nav/nav.component.ts b/src/app/nav/nav.component.ts
index 00881db1..440210ff 100644
--- a/src/app/nav/nav.component.ts
+++ b/src/app/nav/nav.component.ts
@@ -12,6 +12,7 @@ import { LicensesService } from '../shared/licenses/licenses.service';
import { Router } from '@angular/router';
import { OidcSecurityService } from 'angular-auth-oidc-client';
import { takeUntil } from 'rxjs/operators';
+import { ConfigService } from '../shared/config/config.service';
enum RemoteVersionStatus {
Pending,
@@ -70,6 +71,7 @@ export class NavComponent implements OnInit, OnDestroy {
private licensesService: LicensesService,
private router: Router,
private oidcSecurityService: OidcSecurityService,
+ private configService: ConfigService,
) {
}
@@ -99,6 +101,10 @@ export class NavComponent implements OnInit, OnDestroy {
this.setMenuOptsAuth();
}
+ public isUsingPlaceholderOidcConfig(): Observable {
+ return this.configService.isPlaceHolderOidcConfig$;
+ }
+
public ngOnDestroy() {
this.isDestroyed$.next(true);
this.isDestroyed$.complete();
diff --git a/src/app/shared/config/config.service.ts b/src/app/shared/config/config.service.ts
index a8c3815f..9c2c4cea 100644
--- a/src/app/shared/config/config.service.ts
+++ b/src/app/shared/config/config.service.ts
@@ -3,8 +3,8 @@ import { Config } from './config';
import { Configuration } from 'api-client';
import { Configuration as GitlabConfiguration } from 'import-gitlab-client';
import { Configuration as AzureDevOpsConfiguration } from 'import-azuredevops-client';
-import { OpenIdConfiguration } from 'angular-auth-oidc-client';
-import { config, Observable, of, pluck } from 'rxjs';
+import { LogLevel, OpenIdConfiguration } from 'angular-auth-oidc-client';
+import { BehaviorSubject, config, Observable, of, pluck } from 'rxjs';
import { catchError, map, tap } from 'rxjs/operators';
import { resolve } from '@angular/compiler-cli/src/ngtsc/file_system';
import { HttpClient } from '@angular/common/http';
@@ -45,12 +45,19 @@ export const lowClone = (obj: T): T => {
return clone;
};
+const defaultOidcConfig = {
+ authority: 'https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration',
+ redirectUrl: window.location.origin,
+ clientId: 'placeholder',
+};
+
const configUrl = 'assets/config.json';
@Injectable({
providedIn: 'root',
})
export class ConfigService {
+ public isPlaceHolderOidcConfig$ = new BehaviorSubject(true);
private config: Config;
constructor(
@@ -99,7 +106,13 @@ export class ConfigService {
public getOidcConfig$(): Observable {
return this.getConfig$().pipe(
- map((configuration: Config) => configuration.oidcConfig),
+ map((configuration: Config) => {
+ if (!configuration?.oidcConfig){
+ return defaultOidcConfig;
+ this.isPlaceHolderOidcConfig$.next(true);
+ }
+ return configuration.oidcConfig;
+ }),
);
}
diff --git a/src/app/shared/config/config.ts b/src/app/shared/config/config.ts
index 13348c87..11b19026 100644
--- a/src/app/shared/config/config.ts
+++ b/src/app/shared/config/config.ts
@@ -3,7 +3,7 @@ import { OpenIdConfiguration } from 'angular-auth-oidc-client';
export interface Config {
environment: EnvironmentConfig;
backendUrls: BackendUrlsConfig;
- oidcConfig: OpenIdConfiguration;
+ oidcConfig?: OpenIdConfiguration;
}
interface EnvironmentConfig {
diff --git a/src/assets/config.json b/src/assets/config.json
index 9c5fe40c..540f421d 100644
--- a/src/assets/config.json
+++ b/src/assets/config.json
@@ -10,20 +10,5 @@
"GitlabImport": "http://localhost:4200/import",
"GithubImport": "http://localhost:4200/import",
"AzureDevopsImport": "http://localhost:4200/import"
- },
- "oidcConfig": {
- "authority": "https://login.microsoftonline.com/841df554-ef9d-48b1-bc6e-44cf8543a8fc/v2.0/.well-known/openid-configuration",
- "redirectUrl": "http://localhost:4200",
- "postLogoutRedirectUri": "http://localhost:4200",
- "clientId": "01fcb3dc-7a2b-4b1c-a7d6-d7033089c779",
- "scope": "openid profile email offline_access api://wharf-internal/read api://wharf-internal/admin api://wharf-internal/deploy",
- "responseType": "id_token token",
- "ignoreNonceAfterRefresh": true,
- "silentRenew": true,
- "useRefreshToken": true,
- "logLevel": "debug",
- "maxIdTokenIatOffsetAllowedInSeconds": 600,
- "issValidationOff": false,
- "autoUserInfo": false
}
}