Мы рады сообщить, что API-интерфейсы Benzinga теперь поддерживают аутентификацию JWT!

Так что же такое JWT?

Веб-токены JSON (JWT) становятся все более популярным методом безопасной передачи информации между сторонами. В этом сообщении блога мы более подробно рассмотрим, как работают JWT и почему они становятся популярным решением для веб-разработчиков. Он обычно используется в контексте аутентификации и авторизации для API, где он обеспечивает простой и безопасный способ представления утверждений пользователя.

Во-первых, давайте определим, что такое JWT. Проще говоря, JWT — это строка в формате JSON, содержащая информацию о пользователе или клиенте. Эта информация, известная как «претензия», имеет цифровую подпись сервера или третьей стороны, выпустившей токен. Это означает, что любой, кто получает JWT, может убедиться, что он получен из надежного источника и не был подделан.

JWT обычно используются в сценариях аутентификации и авторизации. Например, когда пользователь входит на веб-сайт, сервер может выдать JWT, который содержит информацию о пользователе, такую ​​как его имя пользователя и другие идентифицирующие данные. Затем сервер может использовать JWT для проверки наличия у пользователя разрешения на доступ к определенным ресурсам на веб-сайте.

JWT состоит из трех частей: заголовка, полезной нагрузки и подписи.

Заголовок:

Заголовок обычно содержит информацию о типе маркера и алгоритме, используемом для создания подписи. Например, заголовок может включать тип маркера (JWT) и алгоритм, используемый для подписи маркера (например, HMAC SHA256).

Полезная нагрузка:

Полезная нагрузка содержит утверждения, которые представляют собой утверждения о пользователе, такие как его имя, адрес электронной почты и любую другую информацию, которую необходимо передать. Утверждения кодируются как объект JSON и могут быть легко прочитаны и поняты любой стороной, получившей токен.

Подпись:

Подпись используется для проверки того, что отправитель JWT является тем, за кого он себя выдает, и что сообщение не было подделано. Подпись создается с использованием заголовка и полезной нагрузки, а также секретного ключа, известного только серверу. Когда JWT получен, подпись можно сравнить с заголовком и полезной нагрузкой, чтобы убедиться, что токен действителен.

Когда пользователь хочет пройти аутентификацию с помощью API, ему сначала необходимо отправить свои учетные данные на сервер API. Если учетные данные действительны, сервер сгенерирует JWT и отправит его обратно пользователю. Затем пользователь может включить этот JWT в последующие запросы к API в заголовке Authorization, обычно в форме Bearer <JWT>. Затем сервер API может использовать JWT для проверки личности пользователя и определения наличия у него соответствующих разрешений для доступа к запрошенным ресурсам.

Таким образом, заголовок, полезная нагрузка и подпись JWT обеспечивают простой и безопасный способ представления утверждений пользователя и проверки его личности. Используя автономный и подписанный токен, JWT обеспечивают эффективную и надежную связь между сторонами. В результате они являются широко используемым и эффективным решением для аутентификации API.

Обратитесь к нашей документации для получения дополнительной информации об использовании JWT с API-интерфейсами Benzinga. Как всегда, свяжитесь с нами, если вы хотите протестировать какой-либо из наших API — Свяжитесь с нами!