编辑
我试图简单地使用python生成一个jwt,但是我没有找到一个明确的例子。我跟着下面的那个,这不是我真正需要的。在遵循答案1之后,我更新了代码,使其正常工作。
!/usr/bin/env python3
from jose import jws,jwt
from Crypto.PublicKey import RSA
from time import time
# generate rsa key
key = RSA.generate(2048)
ex = int(time())
claims = {
'iss': 'Smarneh',
'exp': (ex + 3600),
'sub': 42,
}
pri_key=key.exportKey()
#jws = jws.sign(claims, pri_key, algorithm='RS256')
jot =jwt.encode(claims, pri_key, algorithm='RS256')
print (jot)我只是想学习python库的这示例。
#!/usr/bin/env python3
import jose
from Crypto.PublicKey import RSA
from time import time
# generate rsa key
key = RSA.generate(2048)
ex = int(time())
claims = {
'iss': 'Smarneh',
'exp': (ex + 3600),
'sub': 42,
}
pub_jwk ={'k':key.publickey().exportKey('PEM')}
jws = jose.sign(claims, pub_jwk, alg='HS256')我不断地发现这个错误:
文件"./josetest.py",第17行,在jws = jose.sign(claims,pub_jwk,alg=‘has 256’)AttributeError中:模块'jose‘没有属性’符号‘
我试图在这里寻找类似的问题,但非与python有关。如果能帮忙,我会很感激的。
编辑:--我正在试验不同的JWT库,所以我安装了多个JWT库。这可能是问题的原因吗?
发布于 2022-01-11 08:15:29
您需要从包中导入jws并使用jws.sign()。
试着把它导入
from jose import jws那就签
jws = jws.sign(claims, 'secret', alg='HS256')在本例中,https://python-jose.readthedocs.io/en/latest/jws/index.html
https://stackoverflow.com/questions/70663497
复制相似问题