ruby-on-rails - 未经授权的 API 调用 JwtCreator
问题描述
我正在使用 DocuSign 的 Ruby Quickstart 应用程序,我已经完成了以下操作:
- 有一个管理员帐户
- 有组织
- 创建了一个集成(连接的应用程序),我已在管理仪表板中为其授予签名模拟范围(制作 RSA 密钥,放置回调 url 等)
- 即使我完成了上述操作,我也在浏览器中向同意 URL 发出了请求:SERVER/oauth/auth?response_type=code &scope=signature%20impersonation&client_id=CLIENT_ID &redirect_uri=REDIRECT_URI
- 集成似乎启用了一切
然后在 JwtCreator 类中check_jwt_token
返回 true,正确更新帐户信息。
但是当我尝试以下(或任何其他 API 调用)时:
envelope_api = create_envelope_api(@args)
options = DocuSign_eSign::ListStatusChangesOptions.new
options.from_date = (Date.today - 30).strftime('%Y/%m/%d')
results = envelope_api.list_status_changes @args[:account_id], options
api调用引发异常DocuSign_eSign::ApiError (Unauthorized):
参数是:
@args = {
account_id: session[:ds_account_id],
base_path: session[:ds_base_path],
access_token: session[:ds_access_token]
}
都有正确的信息。
我错过了什么?
解决方案
为清楚起见,我在代码中使用了 Quickstart 应用程序中的一些类(如 JwtCreator、ApiCreator 等)。
目前不确定这是我的错误还是 Quickstart 应用程序的一部分,但此调用:
results = envelope_api.list_status_changes @args[:account_id], options
是account_id
这样的"82xxxx-xxxx-xxxx-xxxx-xxxxxxxx95e"
,我总是收到未经授权的回复。
在一个 medium.com 教程中,作者使用了1xxxxxx
account_id
and 和这个表单,它起作用了。
推荐阅读
- ajax - 使用 AJAX 从 Google Sheet XML 文件中提取数据
- android-studio - 在 android studio flutter 项目中展平/分组生成的文件
- python - 烧瓶/Python:Sqlalchemy.exc.OperationalError
- python - 未找到 Selenium Python 元素
- python - Python Selenium 使用 elif 查找元素
- java - Liquibase 前置条件 MARK_RAN,回滚执行
- sql - 使用关系模型的objections.js 性能非常慢
- sql - SQL-删除具有特定时间段的行
- python - Culebra 坚持“接触点(单位=DIP)”
- javascript - regexp 获取路径名,即使您不知道其中的某些部分