JSON Web Token身份验证
项目描述
简介
JSON Web Token (JWT)身份验证模块用于CircuitPython。JSON Web Tokens是两个实体之间安全表示声明的开放、行业标准RFC 7519方法。
- 此库目前支持以下签名算法用于JWT生成和验证
无编码(“none”)
RS256/SHA-256(通过Adafruit_CircuitPython_RSA)
RS384/SHA-384(通过Adafruit_CircuitPython_RSA)
RS512/SHA-512(通过Adafruit_CircuitPython_RSA)
依赖关系
此驱动程序依赖于
请确保所有依赖项都在CircuitPython文件系统中可用。这可以通过下载Adafruit库和驱动程序包轻松实现。
从PyPI安装
在支持GNU/Linux系统(如Raspberry Pi)上,您可以从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.17.tar.gz (32.0 kB 查看哈希)
构建分发
关闭
adafruit-circuitpython-jwt-1.2.17.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 153a09ce0949266101d7277eecb68e0296b75bd9fbede922bb61296ecf95d01e |
|
MD5 | 2d684f1e0c3cc15f04dd93adb9af311a |
|
BLAKE2b-256 | 2084725ebb8e93e3905cb2555e189dc7dc20a140b92a6fc5b34aea09a02fd9d2 |
关闭
adafruit_circuitpython_jwt-1.2.17-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1bed26cef1b8bcb6b7b8cb111cd1633df38f9e7ba322f25a3adcf8bebe2add49 |
|
MD5 | 8e2e1349b7e292f037b0ef765ac7ede5 |
|
BLAKE2b-256 | 5fcfd5f4fa4270eca8af34661473342cb9163167c880741a848c6e7440c56669 |