Ich baue eine Anwendung mit ExpressJS, Mongodb (Mogoose). Die Anwendung enthält Routen, auf denen der Benutzer authentifiziert werden muss, bevor er darauf zugreift.Soll ich JWT-Token in Redis speichern?
Derzeit habe ich eine Express-Middleware geschrieben, um das gleiche zu tun. Hier mache ich mit Hilfe von JWT-Token eine mongodb-Abfrage, um zu überprüfen, ob der Benutzer authentifiziert ist oder nicht. Aber ich denke, das könnte unnötige Anforderungen an meine Datenbank stellen.
sollte ich redis für diese spezielle Aufgabe integrieren?
verbessert es die API-Leistung? oder sollte mit bestehenden mongodb Ansatz gehen?
wäre hilfreich, wenn ich mehr Einblicke dazu bekommen würde.
Warum müssen Sie die JWT-Token speichern? Wird JWT nicht für die zustandslose Authentifizierung verwendet, bei der die Tokens nicht auf der Serverseite gespeichert werden müssen, sondern Sie die Clients behalten können und Sie nur die Signatur überprüfen müssen, um zu sehen, ob die Daten authentisch sind. Der Vorteil von Stateless auf der Serverseite ist also, dass Sie sich nicht um die sitzungsbezogenen Probleme kümmern müssen, sondern nur umgekehrt. –
@Redisson_RuiGu Danke, verstanden Sie Ihren Standpunkt. Was ist der richtige Weg, um Benutzer zu finden ist authentifiziert oder nicht, 1) wenn nach jwt.verify() gibt einige gültige Token (ich glaube, das ist genug), 2) oder sollte ich dieses Token und gegen mit Datenbank (I denke, das ist etwas teuer)? –
Sie können die Benutzerrolle und andere Informationen in der Payload-Sektion behalten, dann können Sie bei der Überprüfung des Token herausfinden, ob er/sie authentifiziert ist. Ein nicht authentifizierter Benutzer hat nur keinen. –