Class: UserAuth::Token

Inherits:
Object
  • Object
show all
Defined in:
lib/user_auth/token.rb

Defined Under Namespace

Classes: ParseError

Instance Method Summary collapse

Constructor Details

#initialize(secret = ENV["JWT_SECRET_KEY"]) ⇒ Token

Returns a new instance of Token.



5
6
7
# File 'lib/user_auth/token.rb', line 5

def initialize(secret = ENV["JWT_SECRET_KEY"])
  @secret = secret
end

Instance Method Details

#create(payload) ⇒ Object



9
10
11
# File 'lib/user_auth/token.rb', line 9

def create(payload)
  JWT.encode(payload, @secret, "HS512")
end

#parse(token) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/user_auth/token.rb', line 13

def parse(token)
  JWT.decode(token, @secret)[0]
rescue JWT::ExpiredSignature
  raise ParseError.new("Token expired")
rescue JWT::DecodeError
  raise ParseError.new("Invalid token")
end