class Omniauth::HubAz::Token
Attributes
header[R]
payload[R]
Public Class Methods
new(jwt, public_key: nil, algorithm: nil)
click to toggle source
# File lib/omniauth/hub_az/hub_az/token.rb, line 11 def initialize(jwt, public_key: nil, algorithm: nil) public_key = Omniauth::HubAz.public_key if public_key.blank? algorithm = Omniauth::HubAz.algorithm if algorithm.blank? @decoded = JWT.decode(jwt, public_key, true, algorithm: algorithm) @payload = ActiveSupport::HashWithIndifferentAccess.new(@decoded[0]) @header = ActiveSupport::HashWithIndifferentAccess.new(@decoded[1]) @valid = true rescue JWT::VerificationError, JWT::ExpiredSignature, JWT::DecodeError, JWT::IncorrectAlgorithm @payload = {} @header = {} @valid = false end
verify!(jwt)
click to toggle source
# File lib/omniauth/hub_az/hub_az/token.rb, line 7 def self.verify!(jwt) self.new(jwt) end
Public Instance Methods
has_role?(role)
click to toggle source
# File lib/omniauth/hub_az/hub_az/token.rb, line 35 def has_role?(role) roles.include?(role) end
roles()
click to toggle source
# File lib/omniauth/hub_az/hub_az/token.rb, line 31 def roles @payload[:roles] || [] end
valid?()
click to toggle source
# File lib/omniauth/hub_az/hub_az/token.rb, line 27 def valid? !!@valid end