class JWTSessions::Token
Constants
- DECODE_ERROR
Public Class Methods
decode(token, claims = {})
click to toggle source
# File lib/jwt_sessions/token.rb, line 15 def decode(token, claims = {}) decode_options = { algorithm: JWTSessions.algorithm }.merge(JWTSessions.jwt_options.to_h).merge(claims) JWT.decode(token, JWTSessions.public_key, JWTSessions.validate?, decode_options) rescue JWT::ExpiredSignature => e raise Errors::Expired, e.message rescue JWT::InvalidIssuerError, JWT::InvalidIatError, JWT::InvalidAudError, JWT::InvalidSubError, JWT::InvalidJtiError => e raise Errors::ClaimsVerification, e.message rescue JWT::DecodeError => e raise Errors::Unauthorized, e.message rescue StandardError raise Errors::Unauthorized, DECODE_ERROR end
decode!(token)
click to toggle source
# File lib/jwt_sessions/token.rb, line 28 def decode!(token) decode_options = { algorithm: JWTSessions.algorithm } JWT.decode(token, JWTSessions.public_key, false, decode_options) rescue StandardError raise Errors::Unauthorized, DECODE_ERROR end
encode(payload)
click to toggle source
# File lib/jwt_sessions/token.rb, line 10 def encode(payload) exp_payload = meta.merge(payload) JWT.encode(exp_payload, JWTSessions.private_key, JWTSessions.algorithm) end
meta()
click to toggle source
# File lib/jwt_sessions/token.rb, line 35 def meta { "exp" => JWTSessions.access_expiration } end