ruby-on-rails 我是{“错误”:在生成docusign JWT访问令牌时,“consistent_required”}

idfiyjo8  于 2023-06-25  发布在  Ruby
关注(0)|答案(2)|浏览(99)
private_key = OpenSSL::PKey::RSA.new(@config[:rsa_private_key])
jwt_payload = { iss: @config[:integration_key],
sub: @config[:user_id], iat: Time.now.to_i,
exp: Time.now.to_i + 3600,
aud: 'account-d.docusign.com',
scope: 'signature' 
}
response = HTTParty.post('https://account-id.docusign./oauth/token', body: { grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer', assertion: JWT.encode(jwt_payload, private_key, 'RS256') })

我使用上面的代码和有效的凭证来生成docusign jwt令牌。但是它给出了“consent_required”错误。以前一样工作得很好。但现在不行

7eumitmz

7eumitmz1#

对于JWT的Ruby代码,我强烈建议您尝试quickstart并选择“Ruby”和“JWT”,这将确保您获得一个可以工作的配置代码。

ma8fv8wu

ma8fv8wu2#

您的有效负载不正确。检查你的gem文件,你可能错误地删除了JWT gem。

试试这个:

private_key=OpenSSL::PKey::RSA.new(File.read('path/to/private_key.pem'))
jwt_payload = {
    iss: @config[:integration_key],
    sub: @config[:user_id],
    iat: Time.now.to_i,
    exp: Time.now.to_i + 3600,
    aud: 'account-d.docusign.com',
    scope: 'signature'
}
jwt_token = JWT.encode(jwt_payload, private_key, 'RS256')

请注意,这段代码假设您已经有了必要的配置**(@config)**,并且您有适当的私钥文件来签署令牌。
生成令牌后,您可以直接将其传递给API请求。

相关问题