@@ -32,11 +32,12 @@ def jwt_required(fn):
3232 """
3333 @wraps (fn )
3434 def wrapper (* args , ** kwargs ):
35- jwt_data = _decode_jwt_from_request (request_type = 'access' )
36- ctx_stack .top .jwt = jwt_data
37- if not verify_token_claims (jwt_data [config .user_claims_key ]):
38- raise UserClaimsVerificationError ('User claims verification failed' )
39- _load_user (jwt_data [config .identity_claim_key ])
35+ if request .method not in config .exempt_methods :
36+ jwt_data = _decode_jwt_from_request (request_type = 'access' )
37+ ctx_stack .top .jwt = jwt_data
38+ if not verify_token_claims (jwt_data [config .user_claims_key ]):
39+ raise UserClaimsVerificationError ('User claims verification failed' )
40+ _load_user (jwt_data [config .identity_claim_key ])
4041 return fn (* args , ** kwargs )
4142 return wrapper
4243
@@ -81,19 +82,20 @@ def fresh_jwt_required(fn):
8182 """
8283 @wraps (fn )
8384 def wrapper (* args , ** kwargs ):
84- jwt_data = _decode_jwt_from_request (request_type = 'access' )
85- ctx_stack .top .jwt = jwt_data
86- fresh = jwt_data ['fresh' ]
87- if isinstance (fresh , bool ):
88- if not fresh :
89- raise FreshTokenRequired ('Fresh token required' )
90- else :
91- now = timegm (datetime .utcnow ().utctimetuple ())
92- if fresh < now :
93- raise FreshTokenRequired ('Fresh token required' )
94- if not verify_token_claims (jwt_data [config .user_claims_key ]):
95- raise UserClaimsVerificationError ('User claims verification failed' )
96- _load_user (jwt_data [config .identity_claim_key ])
85+ if request .method not in config .exempt_methods :
86+ jwt_data = _decode_jwt_from_request (request_type = 'access' )
87+ ctx_stack .top .jwt = jwt_data
88+ fresh = jwt_data ['fresh' ]
89+ if isinstance (fresh , bool ):
90+ if not fresh :
91+ raise FreshTokenRequired ('Fresh token required' )
92+ else :
93+ now = timegm (datetime .utcnow ().utctimetuple ())
94+ if fresh < now :
95+ raise FreshTokenRequired ('Fresh token required' )
96+ if not verify_token_claims (jwt_data [config .user_claims_key ]):
97+ raise UserClaimsVerificationError ('User claims verification failed' )
98+ _load_user (jwt_data [config .identity_claim_key ])
9799 return fn (* args , ** kwargs )
98100 return wrapper
99101
@@ -107,9 +109,10 @@ def jwt_refresh_token_required(fn):
107109 """
108110 @wraps (fn )
109111 def wrapper (* args , ** kwargs ):
110- jwt_data = _decode_jwt_from_request (request_type = 'refresh' )
111- ctx_stack .top .jwt = jwt_data
112- _load_user (jwt_data [config .identity_claim_key ])
112+ if request .method not in config .exempt_methods :
113+ jwt_data = _decode_jwt_from_request (request_type = 'refresh' )
114+ ctx_stack .top .jwt = jwt_data
115+ _load_user (jwt_data [config .identity_claim_key ])
113116 return fn (* args , ** kwargs )
114117 return wrapper
115118
0 commit comments