Class: Foobara::Auth::BuildAccessToken
- Inherits:
-
Command
- Object
- Command
- Foobara::Auth::BuildAccessToken
show all
- Defined in:
- foobara-auth-0.1.1/src/build_access_token.rb
Constant Summary
TruncatedInspect::MAX_LENGTH
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Command
install!
#inspect, truncating
Methods included from Concern
foobara_class_methods_module_for, foobara_concern?, included
Instance Attribute Details
#access_token ⇒ Object
Returns the value of attribute access_token.
20
21
22
|
# File 'src/build_access_token.rb', line 20
def access_token
@access_token
end
|
#expires_at ⇒ Object
Returns the value of attribute expires_at.
20
21
22
|
# File 'src/build_access_token.rb', line 20
def expires_at
@expires_at
end
|
Instance Method Details
#determine_timestamps ⇒ Object
22
23
24
25
|
# File 'src/build_access_token.rb', line 22
def determine_timestamps
now = Time.now
self.expires_at = now + token_ttl
end
|
#execute ⇒ Object
13
14
15
16
17
18
|
# File 'src/build_access_token.rb', line 13
def execute
determine_timestamps
generate_access_token
access_token
end
|
#generate_access_token ⇒ Object
27
28
29
30
31
|
# File 'src/build_access_token.rb', line 27
def generate_access_token
payload = { sub: user.id, exp: expires_at.to_i }
self.access_token = JWT.encode(payload, jwt_secret, "HS256")
end
|
#jwt_secret ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
|
# File 'src/build_access_token.rb', line 33
def jwt_secret
jwt_secret_text = ENV.fetch("JWT_SECRET", nil)
unless jwt_secret_text
raise "You must set the JWT_SECRET environment variable"
end
jwt_secret_text
end
|