JSON Web 令牌认证
项目描述
介绍
CircuitPython 的 JSON Web 令牌 (JWT) 身份验证模块。JSON Web 令牌是一种开放的行业标准 RFC 7519方法,用于在两方之间安全地表示声明。
- 该库目前支持以下 JWT 生成和验证的签名算法:
无编码(“无”)
RS256/SHA-256(通过Adafruit_CircuitPython_RSA)
RS384/SHA-384(通过Adafruit_CircuitPython_RSA)
RS512/SHA-512(通过Adafruit_CircuitPython_RSA)
依赖项
此驱动程序取决于:
请确保 CircuitPython 文件系统上的所有依赖项都可用。这可以通过下载 Adafruit 库和驱动程序包轻松实现。
从 PyPI 安装
在 Raspberry Pi 等受支持的 GNU/Linux 系统上,您可以从 PyPI本地安装驱动程序。为当前用户安装:
pip3 install adafruit-circuitpython-jwt
要在系统范围内安装(在某些情况下可能需要这样做):
sudo pip3 install adafruit-circuitpython-jwt
要在当前项目的虚拟环境中安装:
mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-jwt
使用示例
生成编码的 JWT
import adafruit_jwt
# Import Private RSA key from a secrets.py file
try:
from secrets import secrets
except ImportError:
print("WiFi secrets are kept in secrets.py, please add them there!")
raise
# Create JWT Claims
claims = {"iss": "joe",
"exp": 1300819380,
"name": "John Doe",
"admin": True}
# Generate JWT, sign with RSA private key and RS-256
encoded_jwt = adafruit_jwt.JWT.generate(
claims, secrets["private_key"], algo="RS256")
print("Encoded JWT: ", encoded_jwt)
验证生成的 JWT,encoded_jwt。
import adafruit_jwt
decoded_jwt = adafruit_jwt.JWT.validate(encoded_jwt)
# The decoded JWT's JOSE header and claims set are returned as a tuple
print('JOSE Header: {}\nJWT Claims: {}'.format(decoded_jwt[0], decoded_jwt[1]))
文档
这个库的 API 文档可以在Read the Docs上找到。
有关构建库文档的信息,请查看本指南。
贡献
欢迎投稿! 在帮助这个项目保持受欢迎之前,请阅读我们的行为准则。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
adafruit-circuitpython-jwt-1.2.13.tar.gz
(33.4 kB
查看哈希)
内置分布
关
adafruit_circuitpython_jwt -1.2.13-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 431cf83b2a4d84005faa8c6257b033eeb28c4644992e9fdea6ce31ab6495c486 |
|
| MD5 | 5f07ef994a77b2ade1177eaada681b49 |
|
| 布莱克2-256 | 8fd6d9c3e1baf92e2019227faf8e7f38e95ba88de94acf74e2efcf955f3a9e57 |