Mam mały problem, mianowicie nie wiem jak wykorzystać JWT .... Załóżmy, że mam logowanie do aplikacji mobilnej ... Po zalogowaniu mam profil użytkownika i chciałbym wyświetlić dane tego użytkownika. To jak wykorzystać do tego TOKEN uzytkownika po zalogowaniu ? Czy po prostu zle główkuje i zle cos rozumiem i na sprawdzenie użytkownika jaki się zalogował oraz wyswietleniu jego danych jest inny sposób... ?
token autoryzuje twoje żądanie, to tak samo jak cookie z sesją.
Token służy do komunikacji z serwerem. Nie musisz wtedy za każdym razem wysyłać loginu i hasła, tylko wysyłasz token i wtedy serwer wie kim jesteś. Jak chcesz wyświetlić dane użytkownika to robisz w API końcówkę np. /api/user/info który zwróci dane użytkownika na podstawie tokenu (który to wysyłasz w nagłówku).
Tak na chłopski rozum: logujesz się i dostajesz w odpowiedzi token, który umieszczasz przy każdym następnym zapytaniu do serwera najczęściej w nagłówku. Token jest na serwerze sprawdzany i jeżeli jest poprawny, to kod dalej się wykonuje, jeśli nie - prosi o zalogowanie.
Może chodzi Ci o zdekodowanie tokenu? Wtedy odczytasz część danych.
https://en.wikipedia.org/wiki/JSON_Web_Token#Structure
Markuz napisał(a):
Token służy do komunikacji z serwerem. Nie musisz wtedy za każdym razem wysyłać loginu i hasła, tylko wysyłasz token i wtedy serwer wie kim jesteś. Jak chcesz wyświetlić dane użytkownika to robisz w API końcówkę np. /api/user/info który zwróci dane użytkownika na podstawie tokenu (który to wysyłasz w nagłówku).
O to własnie mi chodziło ! dzieki wielkie ! :D
jeszcze jedno pytanko mam . Taki token jak mi sie wygeneruje dla uzytkownika przy zalogowaniu musze go zapisywac w bazie danych ? Czy jakos to inaczej musze rozwiazac ? tzn :
powiedzmy ze mam tabele users:
id_user,
username,
profileImage,
-gender,
-date_of_birth ...
to musze dla tokena stworzyc kolejne pole w tabeli czy nie potrzeba ?
powiedzmy ze loguje sie do apki mobilnej ... uzytkownik sie zalogowal i chce wyswietlic jego zdjecie profilowe , imie, nazwisko i płec tak jak podałem przyklad wyzej ...
czy wystarczy tylko /api/user/info ...
Skorzystaj z gotowej biblioteki, jest ich masa do php. https://jwt.io/ Zrób zgodnie z dokumentacją i tyle. Nic do bazy nie masz zapisywać.