zwei Personen, die Ruby on Rails und React benutzen

Umgang mit CSRF-Authentifizierung in Rails und React

Voraussetzungen Dieses Tutorial folgt auf meinen vorherigen Beitrag über Rails API Authentifizierung mit React Frontend. Wie es funktioniert Nach dem Login speichert der Browser ein sicheres Cookie, das automatisch jeder Client-Anfrage beigefügt wird. Die Website eines Angreifers kann Anfragen im Namen des Benutzers fälschen, und diese werden authentifiziert. Warum CORS CSRF nicht stoppt CORS (Cross-Origin Resource Sharing) kontrolliert, wer Antworten von Cross-Origin-Anfragen lesen kann. Es verhindert nicht, dass der Browser die Anfrage sendet. CSRF verlässt sich nicht auf das Lesen der Antwort – es braucht nur den Browser, um eine gültige Anfrage mit Cookies zu senden. Lösung: Einen weiteren Validierungsvektor hinzufügen Erzeugen eines CSRF-Tokens auf dem Server. Rückgabe bei der Authentifizierung. Einbeziehung des CSRF-Tokens in den Anfragetext oder einen benutzerdefinierten Header für jede statusändernde Anfrage. Rails 8 + React: Implementierung 1. CSRF-Token auf dem Server generieren Konfigurieren Sie Rails so, dass ein CSRF-Token generiert und in einem Cookie gesendet wird. ...

Juli 15, 2025 · Arnošt Havelka
React und Ruby on Rails 8 Logos

Rails 8 API Authentifizierung mit Cookies und React Frontend

Überblick In diesem Tutorial lernen Sie, wie Sie eine cookie-basierte Authentifizierung mit Rails 8 implementieren. Rails bietet viele Authentifizierungsmethoden, aber Cookies sind sicher, einfach zu bedienen und werden von Browsern automatisch verarbeitet. Während viele Tutorials JWT verwenden, hat dies einen großen Nachteil: Wo speichert man es? Local Storage ist unsicher. Wenn Ihr primärer API-Konsument der Browser ist, ist die cookie-basierte Authentifizierung sicherer und einfacher. Voraussetzungen Ruby (v3.1+) Rails 8 PostgreSQL Node.js und npm/yarn React 18+ Vite Neue Rails-API-App mit PostgreSQL erstellen rails new my-api --api -d=postgresql PostgreSQL-Datenbankverbindung einrichten config/database.yml bearbeiten: ...

Juni 30, 2025 · Arnošt Havelka