Ich habe 2 separate Apps, nennen wir sie Login & Dashboard. Beide Apps haben eine Benutzeroberfläche in Reaktion und einen Express-Server geschrieben.Express js Redirect Cookies nicht gesendet
Wenn ich in meiner Login-App einen POST von meiner Login-Benutzeroberfläche aus anmelde, trifft er den Login Express-Server zur Authentifizierung. Nach der Authentifizierung, habe ich ein Cookie und Umleitungs-URL zu meinem Dashboard:
res.cookie(cookie.key, cookie.access_token, {
path: '/',
domain: cookie.domain,
httpOnly: true,
maxAge: cookie.rememberExpiry
})
res.redirect(dashboard_url)
Allerdings, wenn ich req.cookies
in meinem Dashboard-App verwenden, ich sehe keine Cookies.
Wenn ich die POST aus meiner Anmeldung UI machen sehe ich in der Tat ein Netzwerk Anruf unter Angabe Response-Header:
Set-Cookie: mycookie=cookievalue; Max-Age=28800; Domain=.local.myurl.com; Path=/; Expires=Thu, 03 Nov 2016 19:20:39 GMT; HttpOnly
Beachten Sie, dass dieser Moment als von der Zeit November 3 2016, 11.28 Uhr GMT Es ist also kein Ablaufproblem.
Zum Testen habe ich meine Hosts-Datei so bearbeitet, dass login.local.myurl.com & dashboard.local.myurl.com auf localhost zeigt.
Gibt es einen Grund, warum die req.cookies in der Dashboard Express App nicht verfügbar ist ??
Können Sie sehen, dass die Cookies mit der Anfrage gesendet werden? Ist die Anfrage, für die keine Cookies gesetzt sind, eine "normale" Anfrage oder eine XHR-Anfrage? – robertklep
Was meinen Sie mit "kann ich die Cookies sehen, die mit der Anfrage gesendet werden?"? Ich sehe nichts, wenn ich "req.cookies" in meinem Dashboard-Express-Server logge. In meiner Login-Benutzeroberfläche, wenn ich an den Login Express-Server anmelde, sehe ich in meiner Chrome-Netzwerk-Registerkarte: POST 302 gefunden mit Antwort-Header gesetzt –
Auf der Registerkarte Netzwerk sehen Sie sich die Anfrage aus dem Dashboard und prüfen, ob diese Anfrage enthält 'Cookie'-Header (um auszuschließen, dass die 'cookie-parser'-Middleware nicht ordnungsgemäß verwendet wird). – robertklep