Class: Gris::Middleware::JsonWebTokenDecoder

Inherits:
Object
  • Object
show all
Defined in:
lib/gris/middleware/json_web_token_decoder.rb,
lib/gris/middleware/json_web_token_decoder/version.rb

Constant Summary collapse

VERSION =
'0.0.1'

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ JsonWebTokenDecoder

Returns a new instance of JsonWebTokenDecoder.



7
8
9
# File 'lib/gris/middleware/json_web_token_decoder.rb', line 7

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/gris/middleware/json_web_token_decoder.rb', line 11

def call(env)
  if env['HTTP_AUTHORIZATION']
    token = parse_header env['HTTP_AUTHORIZATION']
    decoded_token = JWT.decode token, Gris.secrets.hmac_secret
    env['GRIS_JWT_PAYLOAD'] = decoded_token
  end
  @app.call env
end

#parse_header(header) ⇒ Object



20
21
22
# File 'lib/gris/middleware/json_web_token_decoder.rb', line 20

def parse_header(header)
  header.split(' ').last
end