auth = JWTAuth(
client_id='YOUR_CLIENT_ID',
client_secret='YOUR_CLIENT_SECRET',
enterprise_id='YOUR_ENTERPRISE_ID',
jwt_key_id='YOUR_JWT_KEY_ID',
rsa_private_key_file_sys_path='CERT.PEM',
store_tokens=your_store_tokens_callback_method,
)
前三个论点是不言自明的。
4:jwt_key_id
:这是从哪里来的?这与JWT标题中的公钥ID是一样的吗?类似的问题(Authenticate with Box Developer Edition using box-python-sdk)没有列出这个论点。
5:我有私钥文件的路径;当我运行此脚本时,它返回一个错误,Password was not given but private key is encrypted.
此处的社区答案https://community.box.com/t5/Box-Developer-Forum/Setting-password-for-private-key-when-using-JWTAuth-via-box/td-p/19407表明需要另一个参数,所以我添加了:
rsa_private_key_passphrase = 'my_passphrase'
作为JWTAuth的另一个论点。这是对的吗?
6:store_tokens
参数看起来是可选的,所以我假设我可以放store_tokens=None
而没有小猫死,对吗?
答案 0 :(得分:1)
4:您的正确性是jwt_key_id
与应用程序配置设置中找到的8个字符公钥ID 相同。
5:对于rsa_private_key_file_sys_path
,您必须输入 private_key.pem 文件的绝对路径。
6:是的,store_tokens
不是强制性的,你可以删除它。而是将其替换为JWT身份验证所需的rsa_private_key_passphrase
。
重要提示: rsa_private_key_passphrase
必须以字节为单位,因此请确保格式为rsa_private_key_passphrase = b'my_passphrase'
。
希望这能解决问题。