Vue d'ensemble
Flask-JWT-Extended 4.4, publié le 1er avril 2022, ajoute le support des claims additionnels dans les tokens JWT.
Fonctionnalités principales
Claims additionnels
Les claims additionnels permettent d'inclure des données personnalisées dans les tokens JWT, comme les rôles et permissions de l'utilisateur.
python
from flask import Flask
from flask_jwt_extended import (
JWTManager, create_access_token, get_jwt
)
app = Flask(__name__)
app.config['JWT_SECRET_KEY'] = 'secret'
jwt = JWTManager(app)
# Token avec claims additionnels
token = create_access_token(
identity='alice',
additional_claims={'role': 'admin', 'dept': 'IT'},
)
Vérification des claims
Les claims peuvent être vérifiés dans les routes protégées pour implémenter un contrôle d'accès basé sur les rôles.
python
from flask_jwt_extended import jwt_required, get_jwt
@app.route('/admin')
@jwt_required()
def admin_page():
claims = get_jwt()
if claims.get('role') != 'admin':
return {'error': 'Accès interdit'}, 403
return {'message': 'Bienvenue admin'}
