Skip to main content

JSON Web 令牌认证

项目描述

介绍

文件状态 不和谐 构建状态 代码风格:黑色

CircuitPython 的 JSON Web 令牌 (JWT) 身份验证模块。JSON Web 令牌是一种开放的行业标准 RFC 7519方法,用于在两方之间安全地表示声明。

该库目前支持以下 JWT 生成和验证的签名算法:

依赖项

此驱动程序取决于:

请确保 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 查看哈希)

已上传 source

内置分布

adafruit_circuitpython_jwt-1.2.13-py3-none-any.whl (6.7 kB 查看哈希

已上传 py3