跳转到主要内容

JSON Web Token身份验证

项目描述

简介

Documentation Status Discord Build Status Code Style: Black

JSON Web Token (JWT)身份验证模块用于CircuitPython。JSON Web Tokens是两个实体之间安全表示声明的开放、行业标准RFC 7519方法。

此库目前支持以下签名算法用于JWT生成和验证

依赖关系

此驱动程序依赖于

请确保所有依赖项都在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-py3-none-any.whl (6.7 kB 查看哈希)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面