Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
27
research/chatwoot/app/services/base_token_service.rb
Normal file
27
research/chatwoot/app/services/base_token_service.rb
Normal file
@@ -0,0 +1,27 @@
|
||||
class BaseTokenService
|
||||
pattr_initialize [:payload, :token]
|
||||
|
||||
def generate_token
|
||||
JWT.encode(token_payload, secret_key, algorithm)
|
||||
end
|
||||
|
||||
def decode_token
|
||||
JWT.decode(token, secret_key, true, algorithm: algorithm).first.symbolize_keys
|
||||
rescue JWT::ExpiredSignature, JWT::DecodeError
|
||||
{}
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def token_payload
|
||||
payload || {}
|
||||
end
|
||||
|
||||
def secret_key
|
||||
Rails.application.secret_key_base
|
||||
end
|
||||
|
||||
def algorithm
|
||||
'HS256'
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user