class Rack::OAuth2::AccessToken::MAC::Verifier

Public Class Methods

new(attributes = {}) click to toggle source
# File lib/rack/oauth2/access_token/mac/verifier.rb, line 11
def initialize(attributes = {})
  (required_attributes + optional_attributes).each do |key|
    self.send :"#{key}=", attributes[key]
  end
  attr_missing!
rescue AttrRequired::AttrMissing => e
  raise VerificationFailed.new("#{self.class.name.demodulize} Invalid: #{e.message}")
end

Public Instance Methods

verify!(expected) click to toggle source
# File lib/rack/oauth2/access_token/mac/verifier.rb, line 20
def verify!(expected)
  if expected == self.calculate
    :verified
  else
    raise VerificationFailed.new("#{self.class.name.demodulize} Invalid")
  end
end

Private Instance Methods

hash_generator() click to toggle source
# File lib/rack/oauth2/access_token/mac/verifier.rb, line 30
def hash_generator
  case algorithm.to_s
  when 'hmac-sha-1'
    OpenSSL::Digest::SHA1.new
  when 'hmac-sha-256'
    OpenSSL::Digest::SHA256.new
  else
    raise 'Unsupported Algorithm'
  end
end