JSON Web令牌身份验证

adafruit-circuitpython-jwt的Python项目详细描述


简介

Documentation StatusDiscordBuild Status

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

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

依赖关系

此驱动程序依赖于:

请确保CircuitPython文件系统上的所有依赖项都可用。 下载很容易实现 the Adafruit library and driver bundle。在

从PyPI安装

在支持的GNU/Linux系统上,比如Raspberry Pi,可以在本地安装驱动程序from PyPI。要为当前用户安装:

pip3 install adafruit-circuitpython-jwt

要在系统范围内安装(在某些情况下可能需要这样做):

^{pr2}$

要在当前项目的虚拟环境中安装:

mkdir project-name &&cd project-name
python3 -m venv .env
source .env/bin/activate
pip3 install adafruit-circuitpython-jwt

使用示例

生成编码JWT

importadafruit_jwt# Import Private RSA key from a secrets.py filetry:fromsecretsimportsecretsexceptImportError:print("WiFi secrets are kept in secrets.py, please add them there!")raise# Create JWT Claimsclaims={"iss":"joe","exp":1300819380,"name":"John Doe","admin":True}# Generate JWT, sign with RSA private key and RS-256encoded_jwt=adafruit_jwt.JWT.generate(claims,secrets["private_key"],algo="RS256")print("Encoded JWT: ",encoded_jwt)

验证生成的JWT,编码的JWT。在

importadafruit_jwtdecoded_jwt=adafruit_jwt.JWT.validate(encoded_jwt)# The decoded JWT's JOSE header and claims set are returned as a tupleprint('JOSE Header: {}\nJWT Claims: {}'.format(decoded_jwt[0],decoded_jwt[1]))

贡献

欢迎投稿!请阅读我们的Code of Conduct 在帮助这个项目之前保持欢迎。在

文件

有关构建库文档的信息,请查看this guide。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
爪哇太阳报。安全验证器。ValidatorException:PKIX路径生成失败   java理解为什么在onDispatchTouchEvent()返回True后仍调用onClick()   java如何在资源包中使用JSF标记/如何在资源包中重写URL?   java什么是流控制异常的替代方案?   java使用Spring数据JPA/MongoDB交叉存储,一个查询可以跨越两个数据库吗?   Apache Sling/felix中的java OSGi slf4j日志记录   为什么当我们想要水平/垂直旋转矩阵时,我们要把这个项除以2?   尝试从外部网页接收JSON字符串时出现安卓 Java NullPointerException   java执行异常:从Callable调用方法时   java在jetty上以调试模式运行webapp,使用maven jetty插件在intellij中构建成功(应用程序应在调试模式下启动)   带有内存数据库的linux Java应用程序的构建时间太长   基于java的随机数单元测试算法   java类型javax。摆动JComponent无法解析   Google日历API和UI小部件Java   java tomcat没有突然和任意地响应   java无法使用jsoup在html中获取图像src   我无法让Java接受键盘输入字符串   java如何开始使用Bambol而不让部署永远继续?   java如何使用另一个类的actionPerformed方法删除一个类/组件中的按钮?   java JSON反序列化brakets{}中的一系列对象