2017-12-22 14 views
0

Wie verifiziert ein JSON-Web-Token einen Benutzer bei der Authentifizierung? Speichert der JWT Benutzerdaten?Wie überprüft ein JSON-Web-Token Benutzer bei der Authentifizierung?

Wenn ja, wie bekomme ich eine Liste der Benutzer, die Authentifizierung durchgeführt haben?

+2

Ich denke, Sie haben ein allgemeines Missverständnis über JWTs. ein JWT enthält alle relevanten Informationen über einen Benutzer, z. Benutzername, eindeutige ID, möglicherweise einige zusätzliche Informationen (z. B. Ablaufzeit). Es kann Klartext oder verschlüsselt sein, aber in jedem Fall sollte es signiert sein. Die Idee von JWTs besteht darin, dass Sie keine Informationen auf dem Server speichern (oder zumindest so wenig wie möglich, normalerweise benötigen Sie serverseitigen Speicher für Aktualisierungstoken). – Turing85

+0

@ Turing85 sollten Sie Ihren Kommentar formatieren und es als Antwort veröffentlichen, wie es tatsächlich die Frage beantwortet ... –

+1

@LucasOliveira nah, zu faul;) – Turing85

Antwort

1

Im Kontext der Token-basierten Authentifizierung ist ein Token Token ein Datenelement, das einen Benutzer identifiziert, der als Berechtigungsnachweis für die Authentifizierung fungiert.


JWT ist ein selbst enthalten Token, die drei Teile enthält:

  • Kopf
  • Payload
  • Signature

Die Nutzlast eine Reihe von Forderungen enthält, und Sie kann es verwenden, um beliebige Daten zu speichern.

Die Integrität des Tokens kann überprüft werden, indem die Signatur überprüft wird, die auf der Serverseite mit einem privaten Schlüssel generiert wird, wobei sowohl Header als auch Payload als Base64 codiert verwendet werden. JWT ermöglicht die zustandslose Authentifizierung, das heißt, Sie müssen nichts auf der Serverseite neben dem Schlüssel speichern, der zum Signieren des Tokens verwendet wird.


sub ist die Standardnutzlast Anspruch das Haupt zu speichern, die der Gegenstand der JWT ist (der Benutzer, der das Token für ausgestellt wurde):

4.1.2. "sub" (Subject) Claim

Das sub (subject) Anspruch identifiziert den Auftraggeber, der der Gegenstand des JWT ist. Die Ansprüche in einem JWT sind normalerweise Aussagen über das Thema. Der Subjektwert MUSS entweder im Kontext des Emittenten lokal einzigartig sein oder global eindeutig sein. Die Verarbeitung dieses Anspruchs ist in der Regel anwendungsspezifisch. Der Wert sub ist eine Zeichenfolge, bei der die Groß-/Kleinschreibung beachtet wird und die einen StringOrIURI -Wert enthält. Die Verwendung dieses Anspruchs ist OPTIONAL.

Verwandte Themen