Я створив автентифікацію на основі JWT у своєму додатку Web API. Я не можу зрозуміти різницю між
- Базовий маркер
- Жетон на пред'явника
Хтось може допомогти мені?
Я створив автентифікацію на основі JWT у своєму додатку Web API. Я не можу зрозуміти різницю між
Хтось може допомогти мені?
Відповіді:
Схеми автентифікації Basic і Digest призначені для автентифікації за допомогою імені користувача та секрету (див. RFC7616 та RFC7617 ).
Схема автентифікації носія присвячена аутентифікації за допомогою маркера і описана в RFC6750 . Навіть якщо ця схема походить із специфікації OAuth2, ви все одно можете використовувати її в будь-якому іншому контексті, де токени обмінюються між клієнтом та сервером.
Що стосується автентифікації JWT і, оскільки вона є маркером, найкращим вибором є схема автентифікації Bearer. Тим не менше, ніщо не заважає вам використовувати спеціальну схему, яка може відповідати вашим вимогам.
Базова автентифікація передає облікові дані як пари ідентифікатора користувача / пароля, кодовані за допомогою base64. Клієнт надсилає запити HTTP ізAuthorization
заголовком, що містить словоBasic
word, після якого пробіл таbase64-encoded
рядок username: password.
Авторизація: Basic ZGVtbzpwQDU1dzByZA ==
Примітка: Для базової автентифікації, оскільки ідентифікатор користувача та пароль передаються по мережі у вигляді чистого тексту (він закодований base64, але base64 є оборотним кодуванням), основна схема автентифікації не захищена. HTTPS / TLS слід використовувати разом із базовою автентифікацією.
Аутентифікація на пред'явника (також звана аутентифікацією токена ) має маркери захисту, які називаються маркерами на пред'явника. Під назвою "Аутентифікація на пред'явника" можна розуміти " надати доступ носієві цього маркера ". Маркер на пред'явника - це загадковий рядок, який зазвичай генерується сервером у відповідь на запит на вхід. Клієнт повинен надіслати цей маркер у заголовку авторизації під час надсилання запитів до захищених ресурсів:
Авторизація: Носій <маркер>
Примітка: Подібно до базової автентифікації, автентифікацію на пред'явника слід використовувати лише через HTTPS (SSL) .