2016-04-21 9 views

Antwort

0

Nein als das Token nicht beibehalten wird. Momentan können Sie nur einen Benutzer und nicht seinen Token blockieren, Token ist standardmäßig für einen Tag gültig. Wenn Sie ein Token vor Ablauf ablehnen möchten, müssen Sie generierte Tokens in der Datenbank beibehalten und entweder eine weiße Liste oder eine schwarze Liste implementieren.

0

Ok danke für die Antwort. In meinem Fall kann ich die Sitzung die ganze Zeit nicht leben lassen ... Was ist der beste Weg, um den Widerruf zu verwalten? Blacklist für Tokens, behalte den Token im Cache mit Leerlaufzeit, ... anders? Gibt es eine Lösung, dies zu tun, ohne die staatenlose Architektur zu verlassen?

+0

Sie haben keine Servlet-Sitzung verwenden, wenn in JHipster mit JWT, so verstehe ich nicht Ihren Punkt staatenlos zu bleiben. Übrigens ist dies keine gute Übung, um Antworten zu kommentieren und vielleicht hat deshalb jemand Ihre Frage abgelehnt. –

+0

Ich möchte nicht Servlet-Sitzung aber JWT-Token verwenden (um zustandslos zu sein). Das Problem ist, ich brauche Widerruf –

+0

Whitelist-Ansatz: Sie erzeugten Token in der Datenbank speichern, wenn Sie einen Token widerrufen wollen vor Ablauf Sie es aus der Datenbank entfernen und Sie überprüfen Token auf jede Anfrage mit einem gewissen Caching, wenn Sie Angst vor der Kollision Datenbank sind zu viel. Black-List-Ansatz, wenn Sie ein Token widerrufen möchten, das Sie in die Datenbank-Sperrliste speichern, kann auch Caching verwendet werden. Nichts besonderes hier. Sie müssen tägliche Säuberungen auch verwalten. –