getProviderConfigs() {
    return this.getSignInOptions_().map(option => {
      if (idp.isSupportedProvider(option['provider']) ||
          googArray.contains(UI_SUPPORTED_PROVIDERS, option['provider'])) {
        // The login hint key is also automatically set for built-in providers
        // that support it.
        const providerConfig = {
          providerId: option['provider'],  // Since developers may be using
                                           // G-Suite for Google sign in or
          // want to label email/password as their own provider, we should
          // allow customization of these attributes.
          providerName: option['providerName'] || null,
          fullLabel: option['fullLabel'] || null,
          buttonColor: option['buttonColor'] || null,
          iconUrl: option['iconUrl'] ? util.sanitizeUrl(option['iconUrl']) :
                                       null
        };
        for (const key in providerConfig) {
          if (providerConfig[key] === null) {
            delete providerConfig[key];
          }
        }
        return providerConfig;
      } else {
        return {
          providerId: option['provider'],
          providerName: option['providerName'] || null,
          fullLabel: option['fullLabel'] || null,
          buttonColor: option['buttonColor'] || null,
          iconUrl: option['iconUrl'] ? util.sanitizeUrl(option['iconUrl']) :
                                       null,
          loginHintKey: option['loginHintKey'] || null
        };
      }
    });
  }
Returns all available provider configs. For built-in providers, provider
display name, button color and icon URL are fixed and cannot be overridden.
@return {!Array<!Config.ProviderConfig>} The list of supported IdP configs.