1010
1111from flask_jwt_extended .config import config
1212from flask_jwt_extended .exceptions import (
13- InvalidHeaderError , NoAuthorizationError , WrongTokenError ,
14- FreshTokenRequired , CSRFError , UserLoadError , RevokedTokenError ,
15- UserClaimsVerificationError
13+ CSRFError , FreshTokenRequired , InvalidHeaderError , NoAuthorizationError ,
14+ UserLoadError
1615)
1716from flask_jwt_extended .utils import (
18- has_user_loader , user_loader , token_in_blacklist , decode_token ,
19- has_token_in_blacklist_callback , verify_token_claims
17+ decode_token , has_user_loader , user_loader , verify_token_claims ,
18+ verify_token_not_blacklisted , verify_token_type
2019)
2120
2221
@@ -35,8 +34,7 @@ def wrapper(*args, **kwargs):
3534 if request .method not in config .exempt_methods :
3635 jwt_data = _decode_jwt_from_request (request_type = 'access' )
3736 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' )
37+ verify_token_claims (jwt_data )
4038 _load_user (jwt_data [config .identity_claim_key ])
4139 return fn (* args , ** kwargs )
4240 return wrapper
@@ -61,8 +59,7 @@ def wrapper(*args, **kwargs):
6159 try :
6260 jwt_data = _decode_jwt_from_request (request_type = 'access' )
6361 ctx_stack .top .jwt = jwt_data
64- if not verify_token_claims (jwt_data [config .user_claims_key ]):
65- raise UserClaimsVerificationError ('User claims verification failed' )
62+ verify_token_claims (jwt_data )
6663 _load_user (jwt_data [config .identity_claim_key ])
6764 except (NoAuthorizationError , InvalidHeaderError ):
6865 pass
@@ -93,8 +90,7 @@ def wrapper(*args, **kwargs):
9390 now = timegm (datetime .utcnow ().utctimetuple ())
9491 if fresh < now :
9592 raise FreshTokenRequired ('Fresh token required' )
96- if not verify_token_claims (jwt_data [config .user_claims_key ]):
97- raise UserClaimsVerificationError ('User claims verification failed' )
93+ verify_token_claims (jwt_data )
9894 _load_user (jwt_data [config .identity_claim_key ])
9995 return fn (* args , ** kwargs )
10096 return wrapper
@@ -126,21 +122,6 @@ def _load_user(identity):
126122 ctx_stack .top .jwt_user = user
127123
128124
129- def _token_blacklisted (decoded_token , request_type ):
130- if not config .blacklist_enabled :
131- return False
132- if not has_token_in_blacklist_callback ():
133- raise RuntimeError ("A token_in_blacklist_callback must be provided via "
134- "the '@token_in_blacklist_loader' if "
135- "JWT_BLACKLIST_ENABLED is True" )
136-
137- if config .blacklist_access_tokens and request_type == 'access' :
138- return token_in_blacklist (decoded_token )
139- if config .blacklist_refresh_tokens and request_type == 'refresh' :
140- return token_in_blacklist (decoded_token )
141- return False
142-
143-
144125def _decode_jwt_from_headers ():
145126 header_name = config .header_name
146127 header_type = config .header_type
@@ -207,11 +188,9 @@ def _decode_jwt_from_request(request_type):
207188 decoded_token = _decode_jwt_from_cookies (request_type )
208189
209190 # Make sure the type of token we received matches the request type we expect
210- if decoded_token ['type' ] != request_type :
211- raise WrongTokenError ('Only {} tokens can access this endpoint' .format (request_type ))
191+ verify_token_type (decoded_token , expected_type = request_type )
212192
213193 # If blacklisting is enabled, see if this token has been revoked
214- if _token_blacklisted (decoded_token , request_type ):
215- raise RevokedTokenError ('Token has been revoked' )
194+ verify_token_not_blacklisted (decoded_token , request_type )
216195
217196 return decoded_token
0 commit comments