Module: DeviseJwtAuth::TokenFactory

Defined in:
lib/devise_jwt_auth/token_factory.rb

Overview

A token management factory which allow generate token objects and check them.

Class Method Summary collapse

Class Method Details

.create_access_token(payload) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/devise_jwt_auth/token_factory.rb', line 16

def self.create_access_token(payload)
  if payload[:exp].blank? && payload['exp'].blank?
    payload[:exp] = (Time.zone.now + DeviseJwtAuth.access_token_lifespan).to_i
  end

  JWT.encode payload, DeviseJwtAuth.access_token_encryption_key
end

.create_refresh_token(payload) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/devise_jwt_auth/token_factory.rb', line 8

def self.create_refresh_token(payload)
  if payload[:exp].blank? && payload['exp'].blank?
    payload[:exp] = (Time.zone.now + DeviseJwtAuth.refresh_token_lifespan).to_i
  end

  JWT.encode payload, DeviseJwtAuth.refresh_token_encryption_key
end

.decode_access_token(token) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/devise_jwt_auth/token_factory.rb', line 38

def self.decode_access_token(token)
  JWT.decode(token, DeviseJwtAuth.access_token_encryption_key).first
rescue JWT::ExpiredSignature
  {}
rescue JWT::DecodeError
  {}
rescue JWT::VerificationError
  {}
rescue NoMethodError
  {}
rescue TypeError
  {}
end

.decode_refresh_token(token) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/devise_jwt_auth/token_factory.rb', line 24

def self.decode_refresh_token(token)
  JWT.decode(token, DeviseJwtAuth.refresh_token_encryption_key).first
rescue JWT::ExpiredSignature
  {}
rescue JWT::DecodeError
  {}
rescue JWT::VerificationError
  {}
rescue NoMethodError
  {}
rescue TypeError
  {}
end