In meiner NodeJS Express App (mit Federn gebaut); Ich versuche, mit client-side fetch
von Client Javascript zu arbeiten. Ich habe Express mit der cooke-parser
Middleware.Browser setzt kein Cookie
Ich habe versucht, die credentials
Header auf same-origin
, aber das funktioniert nicht mehr (es funktionierte gestern, und ein paar Mal heute ... aber ich habe versucht, den Cookie zu bauen, was ich brauche und es scheint nur nicht zuverlässig zu funktionieren).
Dies ist mein Test-Schnellstraße:
app.post('/setjwt', (req, res, next) => {
res.cookie('acokie', 'lol');
res.status(200);
res.send();
});
Ich fetch
in Chrom Entwickler-Tools-Konsole Senden von Anforderungen zu testen, wie so:
fetch('/setjwt', { method: 'POST', headers: { credentials: 'same-origin' } });
Aber es ist kein Cookie in der Registerkarte Anwendung aufgeführt und in document.cookie
nicht verfügbar.
Der Grund, warum ich diesen Weg haben ist zweifach:
- Verstehen Sie, wie Cookies funktionieren und Interop mit Express.
- Befreien Sie sich von dieser Hacky-Route und lassen Sie die Header/Umgebung korrekt einrichten, damit der Antwort-Header des Feat-Authentifizierungsdienstes vom Browser eingehalten wird.
Die Federn Client auf der Login-Seite wird mit fetch
als seine Ruhe Umsetzung einrichten und ich