0Pricing
Flask Academy · Leçon

Protéger les points d’entrée avec jwt_required

Vérifiez le jeton à chaque appel d’API.

Protéger les points d’entrée avec jwt_required est une leçon Flask Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Flask Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Flask Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Guarding a Route

A token is only useful if some routes demand it. The jwt_required decorator turns any view into a members-only endpoint. 🔒

Apply the Decorator

Stack @jwt_required() under your route. Now the view only runs when a valid, unexpired token arrives.

@app.get("/profile")
@jwt_required()
def profile():
    ...

Where the Token Goes

Clients send the token in the Authorization header using the Bearer scheme. Flask-JWT-Extended reads it from there automatically.

Authorization: Bearer <your-token>

Automatic Rejection

No token, or a bad one? The decorator stops the request before your code runs and returns a 401. You write zero checking logic.

Who Is Calling

Inside a guarded view, call get_jwt_identity to read the identity you signed at login, usually the user id.

from flask_jwt_extended import get_jwt_identity
uid = get_jwt_identity()

Read the Full Claims

Need extra claims like a role? get_jwt returns the whole payload as a dict so you can branch on what is inside.

from flask_jwt_extended import get_jwt
role = get_jwt().get("role")

Use the Identity

With the user id in hand, load that user and serve their data. The token told you who, so the rest is normal Flask. 🙂

user = User.query.get(get_jwt_identity())

Optional Protection

Want a page that adapts whether or not someone is logged in? Use optional=True so the view runs either way.

@jwt_required(optional=True)

Customize the Error

Register an unauthorized_loader to return a friendly JSON message instead of the default when a token is missing.

@jwt.unauthorized_loader
def missing(reason):
    return {"msg": reason}, 401

Expired Tokens

An expired token is also rejected by the decorator. The client must log in again or refresh to keep going, which keeps stolen tokens short-lived.

Never Trust the Body

Read the caller from the token, never from a user id in the request body. The signature is what makes the identity trustworthy.

Quick Check

Recall how a guarded view learns who is calling.

Recap

Add @jwt_required() to guard a route, send the token as a Bearer header, and read the caller with get_jwt_identity. 🔐

Questions Fréquemment Posées

La leçon « Protéger les points d’entrée avec jwt_required » est-elle gratuite ?

Oui — le texte complet de « Protéger les points d’entrée avec jwt_required » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Flask Academy, passe à CoddyKit PRO. Le cours Flask Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Protéger les points d’entrée avec jwt_required » ?

Vérifiez le jeton à chaque appel d’API. Tu pratiques Flask Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Flask Academy ?

Aucune expérience préalable n'est requise. Flask Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Protéger les points d’entrée avec jwt_required » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Flask Academy ?

Oui. Chaque leçon Flask Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Sessions ou jetons sans état
  2. Émettre des jetons d’accès lors de la connexion
  3. Protéger les points d’entrée avec jwt_required
  4. Jetons d’actualisation et expiration
← Retour à Flask Academy