class Mobius::Client::Auth::Jwt
Generates JWT token based on valid token transaction signed by both parties and decodes JWT token into hash.
Constants
- ALG
Used JWT algorithm
Public Instance Methods
decode!(jwt)
click to toggle source
Returns decoded JWT token. @param jwt [String] JWT token @return [Hash] Decoded token params
# File lib/mobius/client/auth/jwt.rb, line 27 def decode!(jwt) OpenStruct.new(JWT.decode(jwt, secret, true, algorithm: ALG).first) rescue JWT::ExpiredSignature => _ raise TokenExpired end
encode(token, options = {})
click to toggle source
Returns JWT token. @param token [Mobius::Client::Auth::Token] Valid auth token @return [String] JWT token
# File lib/mobius/client/auth/jwt.rb, line 13 def encode(token, options = {}) payload = { jti: token.hash(:hex), sub: token.address, iat: token.time_bounds.min_time, exp: token.time_bounds.max_time }.merge(options) JWT.encode(payload, secret, ALG) end