Я узнаю кое-что об авторизации, например, Basic, Digest, OAuth2.0, JWT и Bearer Token.
Теперь у меня вопрос.
Вы знаете, что JWT используется как Access_Token в стандарте OAuth2.0. JWT указаны в RFC 7519, а Bearer Token - в RFC 6750.
Например, предъявитель:
Authorization: Bearer <token>
Раньше я отправлял токен на сервер с помощью AJAX или добавлял токен в строку запроса URL-адреса. Я знаю, что токен также можно отправить, добавив его в заголовок запроса. Означает ли это, что токен следует добавить в заголовок носителя авторизации?
Не могли бы вы рассказать мне об отношениях между JWT и токеном на предъявителя? Большое спасибо.
auth-header
пакет, если вам нужен минимальный синтаксический анализаторКороткий ответ
JWT - удобный способ кодирования и проверки утверждений .
Токен на предъявителя - это просто строка, потенциально произвольная, которая используется для авторизации.
Контекст (время рассказа)
Несколько лет назад, до революции JWT, a
<token>
было просто строкой без внутреннего значения, например 2pWS6RQmdZpE0TQ93X. Затем этот токен был найден в базе данных, которая содержала заявки на этот токен. Обратной стороной этого подхода является то, что доступ к БД (или кешу) требуется каждый раз, когда используется токен.JWT кодируют и проверяют (посредством подписи) свои собственные утверждения . Это позволяет людям выпускать кратковременные JWT без сохранения состояния (читай: самодостаточные, не зависят ни от кого). Им не нужно попадать в БД. Это снижает нагрузку на БД и упрощает архитектуру приложения, потому что только сервис, который выдает JWT, должен беспокоиться о попадании на уровень БД / сохраняемости (с которым
refresh_token
вы, вероятно, сталкивались).источник
JWT работают с двумя типами токенов: токен параметра: токен доступа передается в качестве параметра. Жетон на предъявителя: он передается в заголовке с параметром «На предъявителя».
Прочтите также следующий вопрос:
Что такое токены на предъявителя и token_type в OAuth 2?
источник