Beim Abmelden von der Clientseite ist es am einfachsten, das Token aus dem Speicher des Browsers zu entfernen.
Was ist, wenn Sie das Token auf dem Knotenserver zerstören möchten?
Das Problem mit dem JWT-Paket ist, dass es keine Methode oder Möglichkeit zum Zerstören des Tokens bietet.
Um das Token auf der Serverseite zu zerstören, können Sie anstelle von JWT das Paket jwt-redis verwenden
Diese Bibliothek (jwt-redis) wiederholt die gesamte Funktionalität der Bibliothek jsonwebtoken mit einer wichtigen Ergänzung vollständig. Mit Jwt-redis können Sie das Token-Label in redis speichern, um die Gültigkeit zu überprüfen. Das Fehlen eines Token-Labels in redis macht das Token ungültig. Um das Token in jwt-redis zu zerstören, gibt es eine Zerstörungsmethode
es funktioniert so:
1) Installieren Sie jwt-redis von npm
2) Erstellen -
var redis = require('redis');
var JWTR = require('jwt-redis').default;
var redisClient = redis.createClient();
var jwtr = new JWTR(redisClient);
jwtr.sign(payload, secret)
.then((token)=>{
})
.catch((error)=>{
});
3) Um zu überprüfen -
jwtr.verify(token, secret);
4) Zu zerstören -
jwtr.destroy(token)
Hinweis : Sie können expiresIn während der Anmeldung des Tokens genauso angeben, wie es in JWT bereitgestellt wird.