Adam_pasztecik_czwarty
#webdev #mongodb

Hej. Uczę się Node JS i mongoDB. Używam passportJS do logowania i tokenów JWT. Okej, umiem się zalogować, wszystko super. W jaki sposób mogę wykorzystać ten token żeby edytować tylko konkretnego Usera? Obecnie moja aplikacja działa tak, że jeśli token się zgadza, to przesyłam też w requeście _id usera i używam User.findById. Ale to jest bardzo złe, bo będąc zalogowanym i znając ID innych userów, mógłbym sobie ich edytować, to wolałbym pominąć. Korzystałem z tutoriala:

https://medium.com/signature-networks/learn-how-to-handle-authentication-with-node-using-passport-js-4a56ed18e81e

Będę wdzięczny za podpowiedzi, co mógłbym zrobić. Chyba, że przekazywanie ID to standard :D
  • Najlepsze
  • Wszystkie komentarze
PrawyKuba
@Adam_pasztecik_czwarty zapisuj w tokenie ID usera
Adam_pasztecik_czwarty
@PrawyKuba: no okej, jako klient będę znał swoje id. Więc problem nadal jest ten sam. Blokada edycji innych id po zalogowaniu
Krucyfiks
Krucyfiks
@Adam_pasztecik_czwarty: no ale jak ktos ci ma zedytować ID usera w tokenie JWT jak wtedy nie będzie zwalidowany i nie przejdzie dalej przez middleware jako Not Authorized?
PrawyKuba
@Adam_pasztecik_czwarty nie zmienisz sobie id w tokenie po zalogowaniu bo ci tego middleware nie zwaliduje
Adam_pasztecik_czwarty
@Krucyfiks: @PrawyKuba: ok, teraz rozumiem że token jest ogarnięty przez sesję, :D dzieki
k.....n
k.....n
@Adam_pasztecik_czwarty:

Używam passportJS do logowania i tokenów JWT.

passportJS do logowania i tokenów JWT
k.....n
k.....n
@kuskoman: nie mogę już edytować. tak, można jwt uznać za rodzaj sesji, ale prawie pewny jestem, że chodziło mu o server side session
Adam_pasztecik_czwarty
Adam_pasztecik_czwarty Autor
  • adult
0
Treść przeznaczona dla osób powyżej 18 roku życia...
Adam_pasztecik_czwarty
@kuskoman: Dobra, wszystko już rozumiem, w tokenie mam wszystkie te dane jak id usera, muszę to tylko zdekodować. W tutorialu który podesłałem wyżej (przykład z endpoint /current) - nic koleś o tym nie napisał. :D