python jwt-用于生成和验证JSON Web令牌的python模块
JSON Web令牌(JWT)是一种紧凑的,URL安全的方法,用于表示要在两方之间转移的声明。JWT中的声明被编码为JSON对象,用作JSON Web签名(JWS)结构的有效负载或JSON Web加密(JWE)结构的纯文本,从而使声明可以进行数字签名或完整性保护带有消息验证码(MAC)和/或加密的消息。
该备忘录的状态
这是一个Internet标准跟踪文档。
本文档是Internet工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被Internet工程指导小组(IESG)批准发布。有关Internet标准的更多信息,请参见RFC 5741的第2节。
有关JWT的更加详细的说明,可以查看这个文档:self-issued.info/docs/draft-ietf-oauth-json-web-token.html
示例
您可以在PEM格式的字符串之间读写密钥:
使用模块
在这里可以下载python-jwt源文件模块,放入到项目中引入即可。
注意:从2.0.1版本开始,命名空间已从更改jwt为python_jwt,以避免与PyJWT冲突。
注意: 1.0.0版和更高版本修复了JSON Web令牌验证中的漏洞,因此,如果您正在使用此功能,请进行升级。API已更改,因此您将需要更新您的应用程序。verify_jwt现在要求您指定允许的签名算法。
支持RS256,RS384,RS512,PS256,PS384,PS512,HS256,HS384,HS512,ES256,ES384,ES512,ES256K,EdDSA和无签名算法。
单元测试,包括与jose的互操作性测试。
支持Python 2,7和3.6+。注意: 即使在Python 2.7上,generate_jwt也会以Unicode字符串的形式返回令牌。