module AuthToken

Public Class Methods

issue_token( payload = {}, exp = (Time.now + 86400), secret = nil, aud = nil ) click to toggle source

More information on jwt available at self-issued.info/docs/draft-ietf-oauth-json-web-token.html#rfc.section.4.1.6

# File lib/auth_token.rb, line 7
def self.issue_token(
  payload = {},
  exp = (Time.now + 86400),
  secret = nil,
  aud = nil
)
  config = Senkyoshi.configuration
  payload["iat"] = Time.now.to_i # issued at claim
  payload["exp"] = exp.to_i # Default expiration set to 24 hours.
  payload["aud"] = aud || config.scorm_shared_id
  JWT.encode(
    payload,
    secret || config.scorm_shared_auth,
    "HS512",
  )
end
valid?(token, secret = nil) click to toggle source
# File lib/auth_token.rb, line 24
def self.valid?(token, secret = nil)
  config = Senkyoshi.configuration
  JWT.decode(token, secret || config.scorm_shared_auth)
end