JSON Web Token (JWT)

JSON Web Token (JWT) — это компактный самодостаточный способ представить утверждения (claims) — факты о пользователе или клиенте — в виде подписанной строки, которую можно передавать между сторонами. Он состоит из трёх частей в кодировке Base64, разделённых точками: заголовка, полезной нагрузки с утверждениями (идентификатор пользователя, роли, время истечения) и подписи. Подпись — ключевая идея: поскольку она вычислена с помощью секрета или приватного ключа, любой сервер с соответствующим ключом может убедиться, что токен подлинный и не подделан, не обращаясь к базе данных. Именно эта «безсостоятельность» делает JWT вездесущим в аутентификации API и едином входе (SSO) — идентичность несёт сам токен. Для SaaS-разработчиков JWT — это то, что вы обычно получаете после входа через OAuth или выпускаете для вызовов между сервисами. Две практические оговорки: нагрузка подписана, но не зашифрована, поэтому никогда не кладите в неё секреты — утверждения может прочитать кто угодно. И поскольку отозвать stateless-токен до истечения непросто, делайте срок жизни коротким и дополняйте его refresh-токенами.

Похожие термины

Ещё термины: Интеграции