Schrittweise Projektmigration: Domain-Integration über einen Proxy
- Es wurde beschlossen, den Tech-Stack des eigenen Admin-Services in Next.js vom Page Router auf den App Router zu migrieren
- Das hauseigene Tech-Team wollte den bestehenden App-Code mit dem Page Router unverändert beibehalten und die neu erstellten Seiten nach und nach einzeln auf den App Router migrieren
- Dafür wurden die bestehende Page-Router-App und die neue App-Router-App auf separaten Domains bereitgestellt und anschließend mithilfe von Vercel Proxy zu einer einzigen Domain zusammengeführt
- Über die Proxy-Konfiguration werden alle Pfade, die mit
/new beginnen, auf die neue App umgeschrieben, alle übrigen Pfade auf die bestehende App
Warum die Authentifizierung in beiden Apps erhalten bleibt
- Warum bleibt die Authentifizierung nicht nur in der bestehenden App, sondern auch im neuen Projekt erhalten?
- Der hauseigene Admin-Service ist mit Session-Cookie-basierter Authentifizierung implementiert
- Da im Backend außerdem keine CORS-Konfiguration vorgenommen wurde, kann nur unter derselben Domain wie der Server auf Cookies zugegriffen werden
- Die Login-Seite befindet sich in der bestehenden App. Führt das bei API-Anfragen aus der neuen App zu Authentifizierungsproblemen, weil der Browser das Session-Cookie nicht mitsendet?
- Kurz gesagt: nein, es gibt kein Problem
- Der Grund ist, dass beide Apps über die Proxy-Konfiguration unter einer einzigen Domain A zusammengeführt wurden.
- Nach dem Login speichert der Browser das Cookie unter Domain A und fügt das Session-Cookie anschließend automatisch bei allen weiteren Anfragen hinzu
Noch keine Kommentare.