it-swarm.com.de

Sollten wir JWTs in einer Datenbank speichern?

Sollten wir beim Erstellen/Zuweisen der JWTs zu Benutzern diese auch in unseren Datenbanken speichern?

Die Nachteile/Nachteile des Speicherns von Token in der Datenbank wären, dass alle Daten in der Nutzlast des JWT-Tokens bereits in der Datenbank gespeichert sind. Das Speichern des Tokens speichert daher die redundanten Daten. Auch die Überprüfung von JWTs erfolgt über die Signaturschlüssel die sich aber über einen längeren Zeitraum nicht ändern, aber

Das Positive/Pro, das ich beim Speichern des JWT-Tokens in unserer Datenbank sehen kann, ist, dass wir auch nach dem Zuweisen des Tokens die Möglichkeit haben, die vorhandenen Token bereits vor Ablauf ungültig zu machen oder zu deaktivieren.

Einer der Anwendungsfälle zum Speichern der Token wäre, dass Token ungültig werden, wenn das Authentifizierungsschema aktualisiert wird und alle alten Token ungültig gemacht werden müssen.

5
Anshul Sahni

Das Positive/Pro, das ich beim Speichern des JWT-Tokens in unserer Datenbank sehen kann, wäre, dass wir auch nach dem Zuweisen des Tokens die Möglichkeit haben, die vorhandenen Token noch vor Ablauf ungültig zu machen oder zu deaktivieren

Dies geschieht nur, wenn Sie das Token anhand der Datenbank validieren. In diesem Fall sollten Sie JWT verwenden. Der springende Punkt bei einem in sich geschlossenen, signierten Token ist, dass Sie nicht in die Datenbank gehen müssen, um zu überprüfen, ob der Benutzer angemeldet ist.

9
guest

Sie haben OAuth2 implementiert, aber Sie haben eine Sicherheitsspezifikation aus den 90er Jahren, die besagt

"Die Sitzung des Benutzers muss nach 15 Minuten ablaufen."

oder

"Wenn der Benutzer auf Abmelden klickt, ist seine Sitzung nicht mehr gültig."

Eine Möglichkeit, dies zu umgehen, besteht darin, die Token-Sperrung zu implementieren. Es gibt eine Reihe von Möglichkeiten, dies zu erreichen, aber das Speichern der Token auf einer Datenbank und das Markieren als widerrufen ist für eine kleine Einrichtung wahrscheinlich die einfachste.

Das Problem beim Widerruf besteht darin, dass eine sofortige Konsistenz über alle Ihre Ressourcenserver hinweg erforderlich ist, genau das, von dem Sie wegkommen möchten!

Wenn Sie den Ablauf von Token mit kurzem Zugriff als überlegene Lösung verkaufen können, ist dies großartig, wenn nicht, bleiben Sie bei dem, was im Wesentlichen ein Hack ist.

1
Ewan