class DMAO::WardenJWT::User

Attributes

id[R]
institution_id[R]
roles[R]
subject_id[R]

Public Class Methods

from_jwt_claims(jwt_claims) click to toggle source
# File lib/DMAO/WardenJWT/user.rb, line 16
def self.from_jwt_claims jwt_claims

  custom_claims = ENV['JWT_CUSTOM_CLAIMS_ATTRIBUTE']

  uid = jwt_claims[custom_claims]["uid"].nil? ? jwt_claims["sub"] : jwt_claims[custom_claims]["uid"]

  attributes = {
      uid: uid,
      subject_id: jwt_claims["sub"],
      institution_id: jwt_claims[custom_claims]["institution_id"],
      roles: jwt_claims[custom_claims]["roles"]
  }

  new(attributes)

end
new(attributes) click to toggle source
# File lib/DMAO/WardenJWT/user.rb, line 7
def initialize(attributes)

  @id = attributes[:uid] || nil
  @subject_id = attributes[:subject_id] || nil
  @institution_id = attributes[:institution_id] || nil
  @roles = attributes[:roles] || []

end

Public Instance Methods

has_role?(role) click to toggle source
# File lib/DMAO/WardenJWT/user.rb, line 33
def has_role? role

  @roles.include? role.to_s

end