class BsJwt::Authentication
Attributes
display_name[RW]
email[RW]
expires_at[RW]
issued_at[RW]
roles[RW]
token[RW]
user_id[RW]
Public Class Methods
from_jwt_payload(payload, jwt_token)
click to toggle source
# File lib/bs_jwt/authentication.rb, line 7 def self.from_jwt_payload(payload, jwt_token) new( roles: payload['https://buddy.buddyandselly.com/roles'], display_name: payload['nickname'], token: jwt_token, expires_at: Time.at(payload['exp']), email: payload['name'], user_id: payload['sub'], issued_at: Time.at(payload['iat']) ) end
new(attributes = {})
click to toggle source
# File lib/bs_jwt/authentication.rb, line 19 def initialize(attributes = {}) attributes = attributes.with_indifferent_access @roles = attributes[:roles] || [] @display_name = attributes[:display_name] @token = attributes[:token] @expires_at = attributes[:expires_at] @email = attributes[:email] @user_id = attributes[:user_id] @issued_at = attributes[:issued_at] end
Public Instance Methods
expired?()
click to toggle source
# File lib/bs_jwt/authentication.rb, line 34 def expired? Time.now >= expires_at end
has_role?(role)
click to toggle source
# File lib/bs_jwt/authentication.rb, line 30 def has_role?(role) # rubocop:disable Naming/PredicateName roles.include?(role) end
to_h()
click to toggle source
# File lib/bs_jwt/authentication.rb, line 38 def to_h instance_values end