Ho lavorato con Sails da un paio di settimane, sono venuto da Rails e non ho alcuna esperienza con Node.js.Come ottenere l'utente corrente usando jsonwebtoken in Sails.js?
Ora sto provando a creare un'autenticazione token affidabile utilizzando jsonwebtoken. https://github.com/auth0/node-jsonwebtoken
Ho seguito questa guida http://thesabbir.com/how-to-use-json-web-token-authentication-with-sails-js/ e tutto ha funzionato bene. Sono in grado di registrarmi, accedere e utilizzare il token correttamente per diverse azioni.
Ora, ci sono alcune azioni in cui mi piacerebbe utilizzare l'utente di login, qualcosa come l'assistente di deviazione current_user
. Ad esempio, quando si crea un commento, questo commento dovrebbe appartenere all'utente corrente.
Utilizzando la guida di Sabbir Ahmed, nella riga 33 della politica isAuthorized.js, il token viene decifrato in modo da poter ottenere l'id utente corrente da lì.
Quindi, la mia domanda è, quale dovrebbe essere il modo migliore per ottenere l'utente corrente e poterlo utilizzare in seguito in qualche controller? Per esempio ho provato qualcosa di simile:
# isAuthorized.js line 34, after getting decrypted token
User.findOne({id: token.id}).exec(function findOneCB(err, found){
currentUser = found;
});
Ma, in questo modo, perché si tratta di un'azione asincrona Non posso usare questo currentUser in un controllore.
Desidero memorizzare l'utente corrente per poterlo utilizzare in seguito in alcuni controller senza ripetere lo stesso codice in ogni controller, qualcosa come un helper o forse un servizio.