2016-06-21 27 views
4

Ich implementiere statusfreie REST-API über Json Web Tokens (JWT). Im Moment frage ich mich, wie die Benutzerdaten am besten an das Frontend übergeben werden. Das sind die Felder, die ich auf dem Front-End username, email, role, full_name, description, profile_img, facebook_id, twitter_id, custom_setting_1, custom_setting_2, custom_setting_3, custom_setting_4Best Practice Umgang mit Benutzerdaten mit JWT

Es gibt 2 Möglichkeiten, die ich sehe zugreifen müssen würde:

  1. Während der JWT Schaffung fügen Sie die Benutzerdaten an den JWT Nutzlast. Und dann dekodieren Sie es am vorderen Ende. Obwohl ich besorgt bin, wenn ich alle Daten addiere, die die Nutzlast ziemlich groß wird.
  2. Ich kann nur unveränderbare Felder wie username, role zu JWT hinzufügen. Nachdem der JWT erstellt und an das Front-End zurückgegeben wurde, sende ich eine weitere Anfrage für die Benutzerdaten von der API.

Ich könnte auch etwas hier fehlen. Also fragen Sie sich, was ist der beste Ansatz, um die Benutzerdaten mit JWT zu behandeln.

+0

Ich versuche, herauszufinden, warum Sie JWT brauchen dafür. Ein einfacher JSON ist nicht genug? –

+0

JWT wird verwendet, um API-Aufrufe zu authentifizieren. Also die Frage wirklich, sollte ich die Benutzerdaten in JWT hinzufügen (gibt es irgendwelche Vor-/Nachteile dazu), oder behalten Sie die zusätzliche API-Anfrage, um die Benutzerdaten zu erhalten. – Websirnik

+0

Bitte lassen Sie mich wissen, wenn meine Antwort für Sie nützlich war. –

Antwort

1

Sobald Sie JWT zu Authentifizierungszwecken verwenden (ich verstehe, dass Ihr Server ein Authentifizierungstoken generiert, das der Client bei jeder Anforderung an den Server senden muss), ist es nicht sinnvoll, alle diese Details in das Token aufzunehmen.

Ihr zweiter Ansatz macht viel mehr Sinn:

ich nur unveränderliche Felder wie username hinzufügen kann, role zu JWT. Nachdem der JWT erstellt und an das Front-End zurückgegeben wurde, sende ich eine weitere Anfrage für die Benutzerdaten von der API.

Halten Sie Ihre JWT schlank und führen Sie eine weitere Anfrage, um die Benutzerdetails zu haben.

Weitere Informationen darüber, wie die URL zu entwerfen, um die authentifizierte Benutzerdaten zurückzukehren, prüfen unter: