我已经讨论了很多问题,以及它们各自的答案,大部分不是私钥(从--BEGIN RSA private key开始)在jwt中编码,而是发送公钥(不是从--BEGIN RSA private key开始)。 我使用python中的pyjwt库对所需的令牌进行编码并获取所需的令牌,我使用该令牌发送给docusign以进行授权。 这就是我尝试过的,但不会奏效
payload = {
"iss": CLIENT_AUTH_ID,
"sub": ACCOUNT_ID,
"exp": unix,
"aud": "account-d.docusign.com",
"scope": "signature impersonation"
}
signed = jwt.encode(payload, private_key, algorithm='RS256')
它总是返回ValueError:无法反序列化数据,他们的HS256算法工作正常,但当涉及到RS256时,它不会,一些答案建议将其转换为PEM格式,但我的格式已经是该格式(-----开始RSA私钥------(代码)---结束RSA私钥------)
我没有使用jwt库,而是使用了它 我的进口
private_key_pem是private.pem文件的路径,其中我的私钥为 (-开始RSA私钥-(代码)-结束RSA私钥-)
以这种方式使用PythonJose for RS256算法将有望奏效
传递给
jwt.encode
的私钥必须是字节文本b'"..."
。我怀疑您的代码正在传递字符串(在Python中是unicode而不是字节)相关问题 更多 >
编程相关推荐