103 lines
2.3 KiB
Python
103 lines
2.3 KiB
Python
class JWTExtendedException(Exception):
|
|
"""
|
|
Base except which all flask_jwt_extended errors extend
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
class JWTDecodeError(JWTExtendedException):
|
|
"""
|
|
An error decoding a JWT
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
class InvalidHeaderError(JWTExtendedException):
|
|
"""
|
|
An error getting header information from a request
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
class InvalidQueryParamError(JWTExtendedException):
|
|
"""
|
|
An error when a query string param is not in the correct format
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
class NoAuthorizationError(JWTExtendedException):
|
|
"""
|
|
An error raised when no authorization token was found in a protected endpoint
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
class CSRFError(JWTExtendedException):
|
|
"""
|
|
An error with CSRF protection
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
class WrongTokenError(JWTExtendedException):
|
|
"""
|
|
Error raised when attempting to use a refresh token to access an endpoint
|
|
or vice versa
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
class RevokedTokenError(JWTExtendedException):
|
|
"""
|
|
Error raised when a revoked token attempt to access a protected endpoint
|
|
"""
|
|
|
|
def __init__(self, jwt_header: dict, jwt_data: dict) -> None:
|
|
super().__init__("Token has been revoked")
|
|
self.jwt_header = jwt_header
|
|
self.jwt_data = jwt_data
|
|
|
|
|
|
class FreshTokenRequired(JWTExtendedException):
|
|
"""
|
|
Error raised when a valid, non-fresh JWT attempt to access an endpoint
|
|
protected by fresh_jwt_required
|
|
"""
|
|
|
|
def __init__(self, message, jwt_header: dict, jwt_data: dict) -> None:
|
|
super().__init__(message)
|
|
self.jwt_header = jwt_header
|
|
self.jwt_data = jwt_data
|
|
|
|
|
|
class UserLookupError(JWTExtendedException):
|
|
"""
|
|
Error raised when a user_lookup callback function returns None, indicating
|
|
that it cannot or will not load a user for the given identity.
|
|
"""
|
|
|
|
def __init__(self, message, jwt_header: dict, jwt_data: dict) -> None:
|
|
super().__init__(message)
|
|
self.jwt_header = jwt_header
|
|
self.jwt_data = jwt_data
|
|
|
|
|
|
class UserClaimsVerificationError(JWTExtendedException):
|
|
"""
|
|
Error raised when the claims_verification_callback function returns False,
|
|
indicating that the expected user claims are invalid
|
|
"""
|
|
|
|
def __init__(self, message, jwt_header: dict, jwt_data: dict) -> None:
|
|
super().__init__(message)
|
|
self.jwt_header = jwt_header
|
|
self.jwt_data = jwt_data
|