Zastanawiam się nad działaniem JWT, opiszę to na przykładzie.
Uderzam na jakiś endpoint i otrzymuję okienko logowania, wpisuje dane i przesyłam, dane się zgadzają i serwer zwraca mi token, który później przesyłam w headerze, żeby móc skorzystać z jakiś zasobów. Teraz pytania:
- Co jeśli ktoś przejmie dokładnie ten token, który otrzymałem? Będzie mógł korzystać z zasobów? W jaki sposób wygląda ochrona w takim przypadku?
- Na czym polega secret w cześci signature? W jaki sposób to chroni?
- Dlaczego w sumie token nie jest encrypted a tylko i wyłącznie encoded?
- W jaki sposób serwer ropoznaje, że token jest prawdziwy i pochodzi od właściwej osoby? Np ktoś dla testu mi da swój token i będę mógł z niego skorzystać?
Z góry dzięki za odpowiedzi