Pracuję z Sails od kilku tygodni, pochodzę z Rails i nie mam żadnego doświadczenia w pracy z Node.js.Jak uzyskać aktualnego użytkownika za pomocą jsonwebtoken w Sails.js?
Teraz próbuję wykonać niezawodne uwierzytelnianie tokenów za pomocą jsonwebtoken. https://github.com/auth0/node-jsonwebtoken
Poszedłem za tym przewodnikiem http://thesabbir.com/how-to-use-json-web-token-authentication-with-sails-js/ i wszystko działało dobrze. Jestem w stanie dokonać rejestracji, zalogować się, a następnie poprawnie użyć tokena dla różnych akcji.
Teraz są pewne działania, w których chciałbym użyć użytkownika logowania, coś w rodzaju pomocnika devhella current_user
. Na przykład podczas tworzenia komentarza ten komentarz powinien należeć do bieżącego użytkownika.
Korzystanie z przewodnika Sabbir Ahmed, w linii 33 z zasady isAuthorized.js token jest odszyfrowywany, dzięki czemu mogę pobrać bieżący identyfikator użytkownika.
Moje pytanie brzmi, jaki powinien być najlepszy sposób na pozyskanie obecnego użytkownika i możliwość późniejszego użycia go w kontrolerze? Na przykład Próbowałem coś takiego:
# isAuthorized.js line 34, after getting decrypted token
User.findOne({id: token.id}).exec(function findOneCB(err, found){
currentUser = found;
});
Ale na tej drodze, bo jest to działanie asynchroniczny nie mogę użyć tego CurrentUser w kontrolerze.
Chcę zapisać bieżącego użytkownika, aby móc go użyć później w jakimś kontrolerze, bez powtarzania tego samego kodu w każdym kontrolerze, czegoś w rodzaju pomocnika lub usługi.