module Sorcery::Model::Submodules::Jwt::ClassMethods

Public Instance Methods

decode_token(token) click to toggle source
# File lib/sorcery/model/submodules/jwt.rb, line 37
def decode_token(token)
  JWT.decode(token, @sorcery_config.jwt_secret, true, algorithm: @sorcery_config.jwt_algorithm)
end
issue_token(payload) click to toggle source
# File lib/sorcery/model/submodules/jwt.rb, line 32
def issue_token(payload)
  exp_payload = payload.merge(exp: Time.now.to_i + @sorcery_config.session_expiry)
  JWT.encode(exp_payload, @sorcery_config.jwt_secret, @sorcery_config.jwt_algorithm)
end
token_valid?(token) click to toggle source
# File lib/sorcery/model/submodules/jwt.rb, line 41
def token_valid?(token)
  decode_token(token).present?
rescue JWT::DecodeError, JWT::ExpiredSignature
  false
end

Protected Instance Methods

validate_secret_defined() click to toggle source
# File lib/sorcery/model/submodules/jwt.rb, line 49
def validate_secret_defined
  message = "A secret must be configured when using the Sorcery::Jwt extension."
  raise ArgumentError, message if @sorcery_config.jwt_secret.nil?
end