private getDefaultConfig()

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();
      });
  }