使用刷新令牌,可以获得一个新的访问令牌。 https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-code-grant#
在SDK中找不到用于使用刷新令牌续订访问令牌的API。请让我知道是否有可用的API,但我无法在SDK中找到它,或者是否有一些示例代码可用。
答案 0 :(得分:1)
我最近在一个项目中,我需要使用刷新令牌来获取访问令牌,而在sdk中找不到合适的方法。因此,正如Larry K所建议的那样,我使用superagent库发出了POST请求。代码如下:
const refreshToken = <yourRefreshToken>;
const clientString = clientId + ":" + clientSecret,
postData = {
"grant_type": "refresh_token",
"refresh_token": refreshToken, },
headers= {
"Authorization": "Basic " + (new
Buffer(clientString).toString('base64')),
},
authReq = superagent.post( dsConfig.dsOauthServer +
"/oauth/token")
.send(postData)
.set(headers)
.type("application/x-www-form-urlencoded");
我为此写了article,这可能会有帮助。
答案 1 :(得分:1)
从刷新令牌生成新访问令牌的语法:
POST <YOUR_TOKEN_URI>
Authorization: Basic <BASE64(‘YOUR_INTEGRATION_KEY: YOUR_SECRET_KEY’)>
grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN
对于开发者环境,token URI 为: https://account-d.docusign.com/oauth/token 对于生产平台,令牌 URI 为: https://account.docusign.com/oauth/token
授权的 base64 值可以在 JavaScript 控制台中使用以下方法调用生成: btoa('集成密钥:秘密密钥')
这可以在 Google Chrome -> More Tools -> Developer Tools -> Console -> 输入 ‘btoa (‘Integration Key : Secret Key’) 然后按 Enter 或者在谷歌浏览器中,Ctrl + Shift + I -> Console
详细信息here。
答案 2 :(得分:0)
OAuth授权代码授予流程非常标准化。可以使用您最喜欢的软件堆栈授权代码授权库(独立于DocuSign)。
如果找不到所需的库,则可以使用HTTP请求库自行发出POST请求。
请注意,将来在某些DocuSign SDK中可用的其他OAuth授权代码授予支持方法将被弃用。最好使用特定于堆栈的OAuth库,该库将自动处理重定向,状态参数的正确使用以及Auth Code Grant流的其他方面。