Class: OmniAuth::Strategies::JWT
- Inherits:
-
Object
- Object
- OmniAuth::Strategies::JWT
- Includes:
- OmniAuth::Strategy
- Defined in:
- lib/omniauth/strategies/jwt.rb
Direct Known Subclasses
Defined Under Namespace
Classes: ClaimInvalid
Instance Method Summary collapse
Instance Method Details
#callback_phase ⇒ Object
35 36 37 38 39 |
# File 'lib/omniauth/strategies/jwt.rb', line 35 def callback_phase super rescue ClaimInvalid => e fail! :claim_invalid, e end |
#decoded ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/omniauth/strategies/jwt.rb', line 25 def decoded @decoded ||= ::JWT.decode(request.params['jwt'], .secret, .algorithm) (.required_claims || []).each do |field| raise ClaimInvalid.new("Missing required '#{field}' claim.") if !@decoded.key?(field.to_s) end raise ClaimInvalid.new("Missing required 'iat' claim.") if .valid_within && !@decoded["iat"] raise ClaimInvalid.new("'iat' timestamp claim is too skewed from present.") if .valid_within && (Time.now.to_i - @decoded["iat"]).abs > .valid_within @decoded end |
#request_phase ⇒ Object
21 22 23 |
# File 'lib/omniauth/strategies/jwt.rb', line 21 def request_phase redirect .auth_url end |