Comment gérer l'authentification CSRF dans Rails et React
Prérequis Ce tutoriel fait suite à mon article précédent sur la gestion de l’authentification de l’API Rails avec un frontend React. Comment ça marche Après la connexion, le navigateur stocke un cookie sécurisé qui est automatiquement ajouté à chaque requête client. Un site attaquant peut forger des requêtes au nom de l’utilisateur, et elles seront authentifiées. Pourquoi CORS n’arrête pas le CSRF CORS (Cross-Origin Resource Sharing) contrôle qui peut lire les réponses des requêtes cross-origin. Il n’empêche pas le navigateur d’envoyer la requête. CSRF ne repose pas sur la lecture de la réponse — il a juste besoin que le navigateur envoie une requête valide avec des cookies. Solution : Ajouter un autre vecteur de validation Générer un jeton CSRF sur le serveur. Le renvoyer lors de l’authentification. Inclure le jeton CSRF dans le corps de la requête ou un en-tête personnalisé pour chaque requête changeant l’état. Implémentation Rails 8 + React 1. Générer le jeton CSRF sur le serveur Configurez Rails pour générer un jeton CSRF et l’envoyer dans un cookie. ...