Sha256: 5ad1a1c1842dedfbe979139ad0800aa01d48994b91b23dc99c137678f86481f6
Contents?: true
Size: 701 Bytes
Versions: 3
Compression:
Stored size: 701 Bytes
Contents
# frozen_string_literal: true require 'warden' module Warden module JWTAuth # Warden strategy to authenticate an user through a JWT token in the # `Authorization` request header class Strategy < Warden::Strategies::Base def valid? !token.nil? end def store? false end def authenticate! aud = EnvHelper.aud_header(env) user = UserDecoder.new.call(token, scope, aud) success!(user) rescue JWT::DecodeError => e fail!(e.message) end private def token @token ||= HeaderParser.from_env(env) end end end end Warden::Strategies.add(:jwt, Warden::JWTAuth::Strategy)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
warden-jwt_auth-0.8.0 | lib/warden/jwt_auth/strategy.rb |
warden-jwt_auth-0.7.0 | lib/warden/jwt_auth/strategy.rb |
warden-jwt_auth-0.6.0 | lib/warden/jwt_auth/strategy.rb |