2014-12-27 99 views

Odpowiedz

6

wiele informacji związanych z siecią można znaleźć w podobnym poście tutaj: Token Authentication vs. Cookies; Chciałbym wywołać pewne „architektury” różnice:

  1. JWTs są znormalizowany format pojemnik do kodowania użytkownika i informacje związane z klientów w bezpieczny sposób przy użyciu „roszczeń” (podczas gdy zawartość pliku cookie i podpisywanie/szyfrowanie są niestandaryzowane)
  2. JWT nie są ograniczone do prezentacji informacji przypominających sesję o samym uwierzytelnionym użytkowniku; mogą być również używane do delegowania dostępu do klientów działających w imieniu użytkownika.
  3. JWT pozwalają na bardziej szczegółowy model dostępu niż ciasteczka, ponieważ ŚFS mogą być ograniczone w "zakresie" (co umożliwiają klientowi), jak również jako czas
+0

Co z żądaniami GET z nowych kart? Jeśli korzystasz z JWT w aplikacji internetowej, do której można uzyskać dostęp za pośrednictwem przeglądarki, można założyć, że użytkownik może chcieć otworzyć różne karty (i może ręcznie wprowadzić żądany adres URL). W takim przypadku nie masz możliwości odczytania zapisanego JWT przed wysłaniem żądania (i na przykład wstrzyknięciem go do nagłówka). Pliki cookie nie mają tego problemu, ponieważ są one natywnie wysyłane przez przeglądarkę z nowymi żądaniami, nawet na nowych kartach. Mam pytanie dotyczące tego problemu: http://stackoverflow.com/questions/30061307/jwt-how-to-handle-get-requests-when-user-opens-a-new-tab – noderman

+0

Premiera jest taka po uzyskaniu dostępu do adresu URL bez przedstawienia prawidłowego JWT, przeglądarka byłaby przekierowywana do określonego punktu końcowego (Serwer autoryzacji), gdzie może uzyskać JWT –

+0

[Czy generowanie nowego JWT unieważnia JWT istniejący na oryginalnej karcie? Jeśli tak, nie możesz tego zrobić bez zakłócania działania oryginalnej zakładki] Wydaje się więc, że cykl: jesteś już uwierzytelniony, nowa karta powoduje przekierowanie, gdzie przypuszczam, że twoja aplikacja ma lokalny kod JS, aby uzyskać twój $ window.localStorage.token (sessionStorage nie działa między kartami) - jest to konieczne: chcesz uniknąć nowego logowania przez użytkownika i prawdopodobnie uniknąć zniszczenia JWT - a następnie przekierować z powrotem do żądanego zasobu z wtryskiem JWT . – noderman