class AccessTokenAgent::Token

Constants

EXPIRY_MARGIN

Attributes

expires_at[R]
value[R]

Public Class Methods

new(auth_response) click to toggle source
# File lib/access_token_agent/token.rb, line 11
def initialize(auth_response)
  validate_response(auth_response)

  @value = auth_response['access_token']
  @expires_at = Time.now + auth_response['expires_in']
end

Public Instance Methods

valid?() click to toggle source
# File lib/access_token_agent/token.rb, line 18
def valid?
  @expires_at - EXPIRY_MARGIN > Time.now
end

Private Instance Methods

validate_response(auth_response) click to toggle source
# File lib/access_token_agent/token.rb, line 24
def validate_response(auth_response)
  raise MissingTokenType if auth_response['token_type'].nil?
  unless auth_response['token_type'].downcase == 'bearer'
    raise UnsupportedTokenTypeError, auth_response['token_type']
  end

  token = auth_response['access_token']
  raise MissingAccessToken if token.nil? || token.empty?
end