class RackJWTDecode
Constants
- BEARER_REGEXP
- HTTP_AUTHORIZATION
Public Class Methods
new(app, application_secret)
click to toggle source
# File lib/rack_jwt_decode.rb, line 7 def initialize(app, application_secret) @app = app @application_secret = application_secret end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack_jwt_decode.rb, line 12 def call(env) add_jwt_payload_to_env(env) @app.call(env) end
Private Instance Methods
add_jwt_payload_to_env(env)
click to toggle source
# File lib/rack_jwt_decode.rb, line 19 def add_jwt_payload_to_env(env) return unless @application_secret return unless auth = env[HTTP_AUTHORIZATION] return unless token = auth.split(BEARER_REGEXP)&.last return unless payload = JWT.decode(token, @application_secret)&.first payload&.each do |k, v| env["jwt.#{k}"] = v end end