Junior — Middle
112
Erklären Sie, was ein JSON Web Token ist und wie es für die Autorisierung verwendet wird.
Unternehmen wurden gefragt
adspector
LuckyGroup
Antwort von AI
sobes.tech KI
JSON Web Token (JWT) — это компактный, URL-безопасный способ передачи информации между сторонами в виде JSON-объекта. JWT часто используется для авторизации и аутентификации.
JWT состоит из трёх частей, разделённых точками:
- Header (заголовок) — содержит тип токена и алгоритм подписи.
- Payload (полезная нагрузка) — содержит утверждения (claims), например, идентификатор пользователя и время истечения токена.
- Signature (подпись) — создаётся на основе header и payload с использованием секретного ключа.
При авторизации сервер выдаёт JWT клиенту после успешного входа. Клиент сохраняет токен и отправляет его в заголовке Authorization при последующих запросах. Сервер проверяет подпись и данные токена, чтобы удостовериться в подлинности и правах пользователя.
Пример создания JWT на Python с библиотекой PyJWT:
import jwt
import datetime
secret = 'my_secret_key'
payload = {
'user_id': 123,
'exp': datetime.datetime.utcnow() + datetime.timedelta(hours=1)
}
token = jwt.encode(payload, secret, algorithm='HS256')
print(token)