📜  python jwt - Python (1)

📅  最后修改于: 2023-12-03 15:04:05.831000             🧑  作者: Mango

Python JWT

Python JWT (JSON Web Token) 是一个用于创建、解析和验证 JWT 的 Python 库。JWT 是一种 Web 应用程序中广泛使用的身份验证和授权机制。

安装

您可以使用 pip 安装 Python JWT:

pip install pyjwt
使用
创建 JWT
import jwt

payload = {"user_id": 1234567890}

# 创建 JWT
jwt_token = jwt.encode(payload, "secret_key", algorithm="HS256")

print(jwt_token)

这将生成一个 JWT,其中包含 payload 中的信息,并使用密钥 secret_key 进行签名。

解析 JWT
import jwt

jwt_token = "your_jwt_token_here"

# 解析 JWT
payload = jwt.decode(jwt_token, "secret_key", algorithms=["HS256"])

print(payload)

这将解析 JWT 并提取 payload 中的信息。请确保使用与创建 JWT 时相同的密钥和算法。

验证 JWT 签名
import jwt

jwt_token = "your_jwt_token_here"

try:
    # 验证 JWT
    payload = jwt.decode(jwt_token, "secret_key", algorithms=["HS256"])
except jwt.InvalidTokenError:
    # JWT 签名无效
    print("Invalid JWT signature")
else:
    # JWT 签名有效
    print(payload)

这将验证 JWT 的签名是否有效。如果签名无效,将引发 jwt.InvalidTokenError 异常。

支持的算法

以下是 Python JWT 支持的算法列表:

  • HS256, HS384, HS512
  • RS256, RS384, RS512
  • ES256, ES384, ES512
  • PS256, PS384, PS512
总结

Python JWT 是一个轻量级、易于使用的身份验证和授权机制,应该成为您的 Web 应用程序中的一部分。通过使用 Python JWT,您可以轻松地创建、解析和验证 JWT。