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