class RealSavvy::JWT::ShareToken

Public Class Methods

from_ids(audience_id:, subject_id:) click to toggle source
# File lib/real_savvy/jwt/share_token.rb, line 5
def self.from_ids(audience_id:, subject_id:)
  self.new(
    ::JWT.encode(
      {aud: audience_id, sub: subject_id}, nil, 'none'
    )
  )
end

Public Instance Methods

to_share_token() click to toggle source
# File lib/real_savvy/jwt/share_token.rb, line 13
def to_share_token
  self
end

Private Instance Methods

retrieve_claims() click to toggle source
# File lib/real_savvy/jwt/share_token.rb, line 19
def retrieve_claims
  @claims, @header = ::JWT.decode(
                        token,
                        nil,
                        false,
                      )
rescue ::JWT::DecodeError => e
  raise ::RealSavvy::JWT::BadCredentials.new(e.message)
end
standardized_token() click to toggle source
# File lib/real_savvy/jwt/share_token.rb, line 33
def standardized_token
  token_parts = @token.split('.')
  header = Base64.urlsafe_encode64({typ:"JWT",alg:"none"}.to_json, padding: false)
  @token = [header, (token_parts.length == 1 ? token_parts[0] : token_parts[1]), nil].join('.')
end
validate_token() click to toggle source
# File lib/real_savvy/jwt/share_token.rb, line 29
def validate_token
  true
end