python - 面向开发者/企业的 Box Python SDK : Clarifying JWT Authentication

标签 python box-api

https://github.com/box/box-python-sdk/blob/1b2d19662e904a2cc850dab2c66ee122c3b3e20e/README.rst#get-the-authorization-url状态:

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,
     )

前 3 个参数是不言自明的。

4:jwt_key_id:这是从哪里来的?这与 JWT header 中的公钥 id 相同吗?类似的问题( Authenticate with Box Developer Edition using box-python-sdk )没有列出此参数。

5:我有私钥文件的路径;当我运行此脚本时,它返回一个错误,未给出密码,但私钥已加密。此处的社区答案 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 而不会导致小猫死亡,对吗?

最佳答案

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'

希望事情能够解决。

关于python - 面向开发者/企业的 Box Python SDK : Clarifying JWT Authentication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48716778/

相关文章:

php - 如何使用 box.net API 上传文件?

objective-c - 405 不允许的方法

box-api - Box v1 api 何时停止运行?

iphone - iOS Box 应用程序是否响应自定义 URL 方案?

python - 每个时期的数据大小都不同

python - 如何在Python中的给定窗口中捕获鼠标移动?

python - 为当前目录提供服务的简单文件服务器

python 3 : importing a function from a python file in a parent directory

python - Django 购物车/购物篮解决方案(或者我应该 DIM)?

javascript - 使用 Url 上传文件到 Box content-api