Ich habe eine Frage zu Sitzungscookies in React.Sitzungscookies in React verwenden
Derzeit ist dies, wie ich einen Benutzer authentifizieren:
export function loginUser({ email, password }) {
return function(dispatch) {
axios.post(`${API_URL}/users/authenticate`, { email, password }, { withCredentials: true })
.then((response) => {
if (response.data.result_status == "success") {
localStorage.setItem("token", JSON.stringify(response.data.user))
dispatch({ type: AUTHENTICATE_USER });
browserHistory.push("/home");
})
}
})
.catch(() => {
dispatch(authError('Incorrect Login Info'));
});
}
}
ich die email
und password
an eine URL senden. Wenn die response.data.result_status == "success"
, dann ich die Benutzerinformationen (wie ihr Name und E-Mail) zu einem localStorage-Token und ich rufe AUTHENTICATE_USER
, die ein anderes localStorage Element auf true setzt.
Da ich localStorage verwende, bleiben die Daten beim erneuten Laden erhalten. Und solange das authentifizierte localStorage nicht auf null gesetzt ist, bleibe ich auf dem System.
Nun möchten wir jedoch auf dem System so lange bleiben, wie die Sitzung des Cookies nicht abgelaufen ist. Momentan bleibe ich auf dem System basierend auf dem Token, das ich auf den lokalen Speicher gesetzt habe, nicht auf dem Cookie.
Das Back-End verwendet nicht JWT, nur ein Cookie. Gibt es eine Möglichkeit für mich zu überprüfen, ob der Cookie noch mit Axios in Verbindung steht?
Sie können nicht für die Antwort Cookie in XHR überprüfen. Sie können Cookies vor und nach der Anfrage vergleichen. – elmeister
@elmeister danke für die Antwort. Wie überprüfe ich Cookies? Müsste ich es als Token in localStorage setzen? – lost9123193
Ich denke, Sie beginnen besser mit https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie – elmeister