class CognitoTokenVerifier::Config

Attributes

allow_expired_tokens[RW]
aws_region[RW]
token_use[RW]
user_pool_id[RW]

Public Class Methods

new() click to toggle source
# File lib/cognito_token_verifier/config.rb, line 7
def initialize
  @aws_region = nil
  @user_pool_id = nil
  @token_use = 'all'
  @allow_expired_tokens = false
end

Public Instance Methods

allow_expired_tokens?() click to toggle source
# File lib/cognito_token_verifier/config.rb, line 18
def allow_expired_tokens?
  allow_expired_tokens
end
any_token_use?() click to toggle source
# File lib/cognito_token_verifier/config.rb, line 14
def any_token_use?
  ['all', 'any', ['id', 'access']].any?{|usage| usage == token_use }
end
iss() click to toggle source
# File lib/cognito_token_verifier/config.rb, line 31
def iss
  "https://cognito-idp.#{aws_region}.amazonaws.com/#{user_pool_id}"
end
jwks() click to toggle source
# File lib/cognito_token_verifier/config.rb, line 22
def jwks
  begin
    raise ConfigSetupError.new(self) unless aws_region.present? and user_pool_id.present?
    @jwks ||= JSON.parse(RestClient.get(jwk_url))
  rescue RestClient::Exception, JSON::JSONError => e
    raise JWKFetchError
  end
end

Private Instance Methods

jwk_url() click to toggle source
# File lib/cognito_token_verifier/config.rb, line 37
def jwk_url
  "#{iss}/.well-known/jwks.json"
end