Home Reference Source

src/providers/cognito.js

/** Provider for Amazon's Cognito */
class SalteAuthCognitoProvider {
  /**
   * Computes the authorization endpoint
   * @param {Config} config configuration for salte auth
   * @return {String} the authorization endpoint
   */
  static authorizeEndpoint(config) {
    return `${config.providerUrl}/oauth2/authorize`;
  }

  /**
   * Computes the deauthorization url
   * @param {Config} config configuration for salte auth
   * @return {String} the deauthorization url
   */
  static deauthorizeUrl(config) {
    return this.$utilities.createUrl(`${config.providerUrl}/logout`, {
      logout_uri: config.redirectUrl && config.redirectUrl.logoutUrl || config.redirectUrl,
      client_id: config.clientId
    });
  }

  /**
   * Provides a set of default config options required for cognito
   */
  static get defaultConfig() {
    return {
      validation: {
        // Amazon Cognito doesn't support nonce validation
        nonce: false
      }
    };
  }
}

export default SalteAuthCognitoProvider;