2016-05-17 16 views
1

Ich verstehe, es gibt viele Unterschiede/Vor- und Nachteile des Speicherns des Tokens als Cookie vs mit localStorage. Diese Frage ist eine Frage nach der tatsächlichen Implementierung der Speicherung in einem Cookie.JWT - Speichern Token in Cookies

Ich bin verwirrt, denn wenn das Token in einem Cookie gespeichert wird, wird der Benutzer immer validiert, wodurch die Verwendung eines Tokens wertlos wird. Das Token wird immer den serverseitigen Sitzungsdaten zugeordnet.

Kann jemand die Implementierungsdetails erklären?

+0

Eine der Anwendungen von JWTs ist das Entfernen serverseitiger Sitzungsdaten. Ich denke, dass Ihre Frage im Moment ein wenig breit ist und Sie könnten genauer hinsehen, was Sie tun möchten. –

+0

Ich begann, die Token-Client-Seite zu speichern, aber ich stieß auf diesen Artikel. Das Problem ist, dass die Implementierung vage ist und ich nicht verstehe, wie das Speichern in einem Cookie ein ganz anderes ist, als einfach nur ein einfaches altes Cookie zu benutzen - https://stormpath.com/blog/where-to-store-your-jwts- Cookies-vs-HTML5-Web-Speicher – seasick

Antwort

1

Beispiel:

(1) plain old Cookie: Daten in Ihrem "plain Cookie": "129scdsdf23i"

(2) JWT token: JWT Daten/Token, die im Cookie gespeichert wird: "1122abde"

Wie beurteilen Sie die Daten/Token Verity ist eine "gültige Authentifizierung":

(1) plain old cookie: vergleichen "129scdsdf23i" mit gespeicherten Daten in der Datenbank/Server, überprüfen, ob sie die "identisch"

(2) JWT-Token: Schritt a: VERIFY "1122abde", "1122abde" selbst ist gültig, weil (1 + 2 + a) = d und (1 + 2 + b) = e. Dies ist nur ein Beispiel.

Schritt b: DECODE "1122abde" zu "{user: user1, email:" [email protected] "}", wie Sie sehen können, jetzt erhalten Sie den Benutzer und E-Mail.

So "1122abde" wird von Server erstellt und eine geheime Zufallszahl ist während der Erstellung beteiligt. Ein Hacker kann niemals ein gültiges JWT-Token erstellen, ohne das "Geheimnis" zu kennen.

„Ich bin verwirrt, denn wenn das Token in einem Cookie gespeichert wird, wird der Benutzer immer überprüft werden, die Verwendung eines wertlos Token zu machen.“

=> Cookie ist nur ein Ort, um Ihre Daten zu speichern, es hat nichts mit Ihren Daten selbst zu tun. Wenn Sie "1x22abde" im Cookie haben, handelt es sich um ein fehlerhaftes Token, das die Authentifizierung nicht besteht.