Skip to content

Commit a78096e

Browse files
add custom error handling callbacks for expired, invalid, missing JWTs
1 parent 714e7d9 commit a78096e

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

app/__init__.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,23 @@
3434
migrate = Migrate(app, db)
3535
jwt = JWTManager(app)
3636

37+
38+
@jwt.expired_token_loader
39+
def expired_token_callback(jwt_header, jwt_payload):
40+
err = "Access token expired. Use your refresh token to get a new one."
41+
if jwt_payload['type'] == 'refresh':
42+
err = "Refresh token expired. Please login again."
43+
return jsonify(code="token_expired", error=err), 401
44+
45+
@jwt.invalid_token_loader
46+
def invalid_token_callback(error):
47+
return jsonify(code="invalid_token", error="Invalid token provided."), 401
48+
49+
@jwt.unauthorized_loader
50+
def missing_token_callback(error):
51+
return jsonify(code="authorization_required", error="JWT needed for this operation. Login, if needed."), 401
52+
53+
3754
from app import routes
3855

3956
swagger_config = {

0 commit comments

Comments
 (0)