private getEnabledPasswordAndPhoneIdps()

in authui-container/server/api/gcip-handler.ts [223:282]


  private getEnabledPasswordAndPhoneIdps(tenantId: string): Promise<TenantUiConfig> {
    if (tenantId.charAt(0) === '_') {
      let retrievedProjectId: string;
      return this.app.getProjectId()
        .then((projectId) => {
          retrievedProjectId = projectId;
          return this.getGcipConfigHandler.send({
            urlParams: {
              projectId,
            },
          }, DEFAULT_ERROR_GET_GCIP_CONFIG);
        })
        .then((httpResponse) => {
          const config: Config = typeof httpResponse.body === 'object' ?
              httpResponse.body : JSON.parse(httpResponse.body);
          const signInOptions: SignInOption[] = [];

          if (config &&
              config.signIn &&
              config.signIn.email &&
              config.signIn.email.enabled) {
            signInOptions.push({provider: 'password'});
          }
          if (config &&
              config.signIn &&
              config.signIn.phoneNumber &&
              config.signIn.phoneNumber.enabled) {
            signInOptions.push({provider: 'phone'});
          }
          return {
            displayName: retrievedProjectId,
            signInOptions,
          };
        });
    } else {
      return this.app.getProjectId()
        .then((projectId) => {
          return this.getTenantBasicConfigHandler.send({
            urlParams: {
              projectId,
              tenantId,
            },
          }, DEFAULT_ERROR_GET_TENANT_CONFIG);
        })
        .then((httpResponse) => {
          const config: Tenant = typeof httpResponse.body === 'object' ?
              httpResponse.body : JSON.parse(httpResponse.body);
          const signInOptions: SignInOption[] = [];

          if (config &&
              config.allowPasswordSignup) {
            signInOptions.push({provider: 'password'});
          }
          return {
            displayName: (config && config.displayName) || undefined,
            signInOptions,
          };
        });
    }
  }