Class: CommandTower::Jwt::Decode
- Inherits:
-
Object
- Object
- CommandTower::Jwt::Decode
- Defined in:
- app/services/command_tower/jwt/decode.rb
Defined Under Namespace
Classes: DecodeOutcome
Constant Summary collapse
- ALGORITHM =
"HS256"
Class Method Summary collapse
Class Method Details
.call(token:) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/services/command_tower/jwt/decode.rb', line 27 def self.call(token:) data = JWT.decode(token, CommandTower.config.jwt.hmac_secret, true, { algorithm: ALGORITHM }) DecodeOutcome.success( payload: data[0].with_indifferent_access, headers: data[1].with_indifferent_access ) rescue JWT::DecodeError => e Rails.logger.warn { "[#{name}] Failed to decode token: #{e.class.name}" } DecodeOutcome.failure(msg: "Invalid Token") end |