Dowiaduję się czegoś o autoryzacji, np. Basic, Digest, OAuth2.0, JWTs i Bearer Token.
Teraz mam pytanie.
Wiesz, że tokeny JWT są używane jako Access_Token w standardzie OAuth2.0. Tokeny JWT pojawiają się pod adresem RFC 7519, a token okaziciela znajduje się pod adresem RFC 6750.
Na przykład Nosiciel:
Authorization: Bearer <token>
Kiedyś wysyłałem token na serwer przez AJAX lub dodawałem token do ciągu zapytania adresu URL. Wiem, że token można również wysłać, dodając go do nagłówka żądania. Czy to oznacza, że token należy dodać do nagłówka Authorization Bearer?
Czy mógłbyś mi powiedzieć o związku między JWT a Bearer Token? Wielkie dzięki.
auth-header
pakietu, jeśli chcesz mieć minimalny parserKrótka odpowiedź
Tokeny JWT to wygodny sposób kodowania i weryfikowania roszczeń .
Token okaziciela to po prostu ciąg znaków, potencjalnie dowolny, używany do autoryzacji.
Kontekst (czas opowieści)
Kilka lat temu, przed rewolucją JWT,
<token>
był to po prostu ciąg bez wewnętrznego znaczenia, np. 2pWS6RQmdZpE0TQ93X. Ten token został następnie wyszukany w bazie danych, która zawierała żądania tego tokenu. Wadą tego podejścia jest to, że dostęp do bazy danych (lub pamięci podręcznej) jest wymagany za każdym razem, gdy używany jest token.Tokeny JWT kodują i weryfikują (poprzez podpisywanie) własne oświadczenia . Pozwala to ludziom na wydawanie krótkoterminowych tokenów JWT, które są bezpaństwowe (czytaj: samodzielne, nie zależą od nikogo innego). Nie muszą trafiać w DB. Zmniejsza to obciążenie bazy danych i upraszcza architekturę aplikacji, ponieważ tylko usługa, która wystawia tokeny JWT, musi się martwić o trafienie do warstwy bazy danych / trwałości (z
refresh_token
którą prawdopodobnie się spotkałeś).źródło
Tokeny JWT współpracują z dwoma typami tokenów, token parametru: przekazanie tokenu dostępu jako parametr. Bearer Token: przechodzi w nagłówku z „Bearer”.
Przeczytaj również następujące pytanie:
Co to są tokeny okaziciela i token_type w OAuth 2?
źródło