Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Token Authentication simulee
Si tu as deja utilise un service comme Stripe, GitHub ou Slack via leur API, tu as forcement manipule un token d'authentification. C'est le standard des APIs modernes. Le principe : quand un utilisateur se connecte, le serveur lui donne un token unique. A chaque requete suivante, le client envoie ce token dans un header HTTP, et le serveur verifie a qui il appartient.
C'est comme un badge d'acces dans un immeuble de bureaux. Tu le montres a l'entree, le vigile le scanne, et il sait qui tu es.
Dans DRF, le header ressemble a : Authorization: Token abc123def456
Tu vas créer une classe TokenAuth qui :
generate_token(user_id) : génère un token unique pour un utilisateur (utilise le module secrets : secrets.token_hex(16) donne une chaine hexadecimale de 32 caracteres). Stocke l'association token vers user_id dans un dictionnaire interne self.tokens. Retourne le token.
authenticate(header) : recoit la valeur du header Authorization (ex: 'Token abc123'). Vérifie que le header commence par 'Token ', extrait le token, et retourne le user_id associe. Retourne None si le token est invalide ou absent.
revoke_token(token) : supprime un token (deconnexion). Retourne True si le token existait, False sinon.