2016-05-17 6 views
2

Wir implementieren JWT, damit sich unsere Client-Seite über unseren separaten Authentifizierungsserver authentifizieren kann.Sollte ich verschlüsselte Daten in einem JWT-Token übergeben?

Der Client sendet den Benutzernamen und das Kennwort an den Authentifizierungsserver, empfängt ein JWT und meldet sich dann mit dem JWT bei der Hauptwebsite an.

Offensichtlich enthält das Token den Benutzernamen und einige andere nicht geheime Informationen.

Die Frage ist, ob JWT verwendet werden soll, um geheime Informationen und wie zu übergeben. Hier sind ein paar Optionen, die in Betracht gezogen werden könnten:

  1. Tun Sie es nicht. Lassen Sie den Haupt-Website-Server eine Back-End-API mit dem authentifizierten Benutzernamen aufrufen, um die benötigten Informationen zu erhalten.
  2. Übergeben Sie die Informationen wie Private Ansprüche Verschlüsselung der Werte mit einer symmetrischen Verschlüsselung und den Schlüssel/Kennsatz zwischen der Hauptwebsite und dem Authentifizierungsserver teilen.
  3. Verschlüsseln Sie das gesamte Token.

Gibt es hier Best Practices? Was sind die Höhen und Tiefen dieser Optionen?

Antwort

0

Sie sollten JWT nicht zum Übermitteln geheimer Informationen verwenden. Diese Tokens sind normalerweise signiert, um vor Manipulation zu schützen (nicht verschlüsselt), so dass die Daten in den Ansprüchen leicht decodiert und gelesen werden können. Wenn Sie sensible Informationen benötigen, bitte bei JSON Web Encryption(JWE)

Verwandte Themen