Wpis z mikrobloga

Stworzyłem backend z autoryzacją na podstawie tego

https://jasonwatmore.com/post/2019/10/14/aspnet-core-3-simple-api-for-authentication-registration-and-user-management#running-react

Również zrobiłem sobie endpoint do dodawania treści serwer. Wygląda to tak, że użytkownik loguje się do portalu i chcę dodać jakąś treść np. zdjęcie na swój profil, więc wywołuje wspomniany endpoint -

http://localhost:4000/profiles/{username}/photos/

W miejsce username podawany jest jego username, w body plik img do przesłania, a w headerze token do autoryzacji. Działa tylko problem jest taki, że to zapytanie przejdzie także dla tokenu innego użytkownika więc może dojść do sytuacji, że ktoś na podstawie swojego tokenu zmieni komuś zdjęcie w profilu. Nie wiem jak sobie z tym poradzić. Bardzo proszę o wskazówkę jak sobie z tym poradzić.

#asp #backend #programowanie #csharp #aspnet #aspnetcore #api
  • 6
@maestrozo: edit. Czy może powinienem w bazie trzymać token zalogowanego użytkownika i w momencie gdy zalogowany użytkownik chcę przesłać treść na serwer przesyłany jest jedynie jego token w body bez username
Używasz tokenu JWT? Jeżeli tak po stronie backendu musisz zweryfikować czy z takim tokenem dostęp do zasobu jest uprawiony.
Najprościej to w tym tokenie mieć zapisany username i po stronie backendu weryfikować czy username z urla się zgadza.
Token już leci w headerze, nie musisz go do body dodawać.