Zastanawiam się, jaki jest najlepszy odpowiedni Authorization
typ nagłówka HTTP dla tokenów JWT .
Jednym z prawdopodobnie najbardziej popularnych typów jest Basic
. Na przykład:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Obsługuje dwa parametry, takie jak login i hasło. Nie dotyczy to tokenów JWT.
Słyszałem także o typie okaziciela , na przykład:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
Jednak nie znam jego znaczenia. Czy to dotyczy niedźwiedzi?
Czy istnieje konkretny sposób użycia tokenów JWT w Authorization
nagłówku HTTP ? Czy powinniśmy skorzystać Bearer
, czy też powinniśmy uprościć i po prostu użyć:
Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
Dzięki.
Edytować:
A może po prostu JWT
nagłówek HTTP:
JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
źródło
Bearer
słowa kluczowego. Ale pochodzi z OAuth. Jednak JWT może być używany bez OAuth. Jest całkowicie niezależny od specyfikacji OAuth.Authenticate
nagłówek jest bardziej odpowiedni i jest zgodny z RFC7235, który opisuje strukturę uwierzytelniania w kontekście HTTP 1.1curl -H "Authorization: Bearer <TOKEN>" <the rest of your curl cmd>
Krótka odpowiedź
Bearer
Schemat uwierzytelniania jest to, czego szukasz.Długa odpowiedź
Errr ... Nie :)
Zgodnie ze słownikami Oxford , oto definicja okaziciela :
Pierwsza definicja obejmuje następujące synonimy: posłaniec , agent , przenośnik , emisariusz , przewoźnik , dostawca .
A oto definicja tokena okaziciela zgodnie z RFC 6750 :
Bearer
Schemat uwierzytelniania jest zarejestrowany w IANA i pierwotnie zdefiniowane w RFC 6750 dla ram autoryzacji OAuth 2.0, ale nic nie stoi na przeszkodzie użyciuBearer
system tokenów dostępowych w aplikacjach, które nie korzystają z protokołu OAuth 2.0.Trzymaj się standardów w jak największym stopniu i nie twórz własnych schematów uwierzytelniania.
Token dostępu należy wysłać w
Authorization
nagłówku żądania przy użyciuBearer
schematu uwierzytelniania:W przypadku nieprawidłowego lub brakującego tokena
Bearer
schemat powinien zostać zawarty wWWW-Authenticate
nagłówku odpowiedzi:źródło