in authui-container/server/auth-server.ts [390:428]
private getDefaultConfig(hostname: string): Promise<UiConfig | null> {
let gcipConfig: GcipConfig;
let projectId: string;
return this.metadataServer.getProjectId()
.then((retrievedProjectId) => {
projectId = retrievedProjectId;
return this.gcipHandler.getGcipConfig();
})
.then((retrievedGcipConfig) => {
gcipConfig = retrievedGcipConfig
return this.iapSettingsHandler.listIapSettings()
.catch((error) => {
return [] as IapSettings[];
});
})
.then((iapSettings) => {
// Get list of all tenants used.
const tenantIdsSet = new Set<string>();
iapSettings.forEach((iapConfig) => {
if (iapConfig &&
iapConfig.accessSettings &&
iapConfig.accessSettings.gcipSettings &&
iapConfig.accessSettings.gcipSettings.tenantIds) {
// Add underlying tenant IDs to set.
iapConfig.accessSettings.gcipSettings.tenantIds.forEach((tenantId) => {
tenantIdsSet.add(tenantId);
});
}
});
return Array.from(tenantIdsSet);
})
.then((tenantIds) => {
return this.getTenantUiConfigForTenants(tenantIds);
})
.then((optionsMap) => {
const defaultUiConfig = new DefaultUiConfigBuilder(projectId, hostname, gcipConfig, optionsMap);
return defaultUiConfig.build();
});
}