Ich arbeite seit einigen Wochen mit Sails, ich kam von Rails und habe keine Erfahrung mit Node.js.Wie bekomme ich den aktuellen Benutzer mit jsonwebtoken in Sails.js?
Jetzt versuche ich eine robuste Token-Authentifizierung mit jsonwebtoken zu machen.
Ich folgte dieser Anleitung http://thesabbir.com/how-to-use-json-web-token-authentication-with-sails-js/ und alles hat gut funktioniert. Ich kann mich anmelden, anmelden und das Token dann für verschiedene Aktionen verwenden.
Jetzt gibt es einige Aktionen, wo ich den Login-Benutzer, etwas wie Devise current_user
Helfer verwenden möchte. Wenn Sie beispielsweise einen Kommentar erstellen, sollte dieser Kommentar dem aktuellen Benutzer gehören.
Mit Sabbir Ahmed Anleitung, in der Zeile 33 von der IsAuthorized.js Richtlinie das Token entschlüsselt, so kann ich die aktuelle Benutzer-ID von dort bekommen.
Also, meine Frage ist, was sollte der beste Weg sein, den aktuellen Benutzer zu bekommen und in der Lage sein, es später in einem Controller zu verwenden? Zum Beispiel habe ich versucht, so etwas wie:
# isAuthorized.js line 34, after getting decrypted token
User.findOne({id: token.id}).exec(function findOneCB(err, found){
currentUser = found;
});
Aber auf diese Weise, denn dies ist eine Asynchron-Aktion ist ich nicht diese current in einem Controller verwenden kann.
Ich möchte den aktuellen Benutzer speichern, um in der Lage zu sein, es später in einem Controller zu verwenden, ohne den gleichen Code in jedem Controller, etwas wie einen Helfer oder vielleicht einen Dienst zu wiederholen.