JOSE RFC

joserfc 是一个提供了多个重要 JSON Object Signing and Encryption (JOSE) 标准的全面实现的 Python 库,包括 JWS (JSON Web Signature),JWE (JSON Web Encryption),JWK (JSON Web Key),JWA (JSON Web Algorithms),和 JWT (JSON Web Tokens)。

它源于 Authlib,但我们专门为 JOSE 功能重新设计了 API。

使用方法

一个快速而简单的 JWT 编码和解码的示例如下:

>>> from joserfc import jwt
>>> from joserfc.jwk import OctKey
>>> key = OctKey.import_key("secret")
>>> encoded = jwt.encode({"alg": "HS256"}, {"k": "value"}, key)
>>> encoded
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrIjoidmFsdWUifQ.ni-MJXnZHpFB_8L9P9yllj3RNDfzmD4yBKAyefSctMY'
>>> token = jwt.decode(encoded, key)
>>> token.header
{'alg': 'HS256', 'typ': 'JWT'}
>>> token.claims
{'k': 'value'}

您可以在 JSON Web Token 部分找到更多详细信息和高级用法。

重要

上述示例中使用的字符串 "secret" 仅用于演示目的。在生产环境中,使用高度安全的密钥以确保强大的安全措施是至关重要的。

RFCs

它遵循可扩展的 API,并遵循 RFC 标准。该模块包含以下实现:

同时包含如下 JOSE 草案的实现:

提示

RFC7520 是测试案例,详情请参考源码里的 tests 部分。

继续阅读

浏览以下部分,了解更多关于 joserfc 及其特性的内容。