我目前正在将 DocuSign 集成到我的 Rails 应用程序中,并且在尝试获取 JWT 不记名令牌进行身份验证时遇到问题。每当我请求获取令牌时,我都会收到以下错误:
DocuSign_eSign::ApiError (Bad Request):
此错误发生在我的
get_jwt_bearer_token
的 DocusignService
方法中。这是相关的代码片段:
def get_jwt_bearer_token
api_client.set_base_path(@base_path)
private_key_filename = File.join(Rails.root, 'config', 'docusign_private_key.txt')
expires_in_seconds = 3600 # Adjust as needed
scopes = ["signature", "impersonation"]
api_client.request_jwt_user_token(@integration_key, @user_id, private_key_filename, expires_in_seconds, $SCOPES.join('+'))
end
我已经交叉检查了我的环境变量,并确认环境变量
DOCUSIGN_INTEGRATION_KEY
、DOCUSIGN_USER_ID
和 DOCUSIGN_ENDPOINT
已正确设置。此外,我已经验证私钥文件存在于指定的路径中。
我还包含了 .env 文件中的相关配置
DOCUSIGN_ENDPOINT=https://demo.docusign.net/restapi
BASE_URL=localhost:3000 DOCUSIGN_ACCOUNT_ID=239XX015
DOCUSIGN_INTEGRATION_KEY=9b53690f-1012-4XXf-a91b-c82635895b09
DOCUSIGN_USER_ID=95b81f2e-b0d6-4XXc-b429-eb40daXXb130
DOCUSIGN_AUTH_SERVER=account-d.docusign.com
任何人都可以帮助我理解为什么我会遇到此错误以及如何解决它吗?
您是否已同意您的申请?每个身份验证用户必须获得一次同意。
scopes 参数也应该以空格分隔(看起来你正在将其作为+)
也可以很好地验证
api_client.set_base_path(@base_path)
实际上将base_path设置为“https://account-d.docusign.com/oauth/auth
如果这些都不起作用,请向 Docusign 开发人员支持打开支持案例。