Spaces:
Runtime error
Runtime error
from functools import wraps | |
from flask_jwt_extended import verify_jwt_in_request, get_jwt | |
from flask import jsonify | |
def roles_required(*roles): | |
def wrapper(fn): | |
def decorator(*args, **kwargs): | |
verify_jwt_in_request() | |
claims = get_jwt() | |
user_roles = claims.get("roles", []) | |
if not any(role in roles for role in user_roles): | |
return jsonify(msg="Forbidden: insufficient permissions"), 403 | |
return fn(*args, **kwargs) | |
return decorator | |
return wrapper | |