【问题标题】:How to work with refresh token in DocuSign如何在 DocuSign 中使用刷新令牌
【发布时间】:2021-11-23 21:31:07
【问题描述】:

我正在使用docusign身份验证流程

登录时
let url = "https://account-d.docusign.com/oauth/auth?response_type=token&scope=signature extended&client_id=39b5f6fb-97ca-XXXXXXXXXXXXX&state=a39fh23hnf23XXXXXX&redirect_uri=http://localhost:4200/callbackdocusign";

window.open(url, '_self'); 成功验证后返回 access_token/expires_in/token_type/state。

请指导如何获取refresh_token? refresh_token 后如何获取新的 access_token?

对于 refresh_token 我尝试了 让 url = "https://account-d.docusign.com/oauth/auth?response_type=refresh_token&scope=signature extended&client_id=39b5f6fb-97ca-XXXXXXXXXXXXX&state=a39fh23hnf23XXXXXX&redirect_uri=http://localhost:4200/callbackdocusign"; window.open(url, '_self');

但它没有返回 refresh_token

【问题讨论】:

    标签: docusignapi refresh-token


    【解决方案1】:

    您使用的 URL 为 response_type=token。此响应类型用于隐式授权身份验证,不支持刷新令牌。如果您需要刷新令牌,则必须使用授权码授予。您的网址将如下所示

    https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature extended&client_id=39b5f6fb-97ca-XXXXXXXXXXXXX&state=a39fh23hnf23XXXXX&redirect_uri=http://localhost:4200/callbackdocusign
    

    当您的用户在验证后被重定向时,这将在 URL 中提供一个“代码”参数。您可以使用该代码获取实际的访问和刷新令牌。

    你可以在这里找到完整的解释: https://developers.docusign.com/platform/auth/authcode/authcode-get-token/

    【讨论】:

      【解决方案2】:

      您当前正在使用隐式授权流程。它不提供刷新令牌。

      刷新令牌仅随授权码授予流程提供。

      如果您从浏览器启动 OAuth 流程(使用 React 等),那么此时您不能使用授权码授权流程,因为它需要安全存储客户端 ID 密码。

      【讨论】:

      • 现在我在 Angular 中使用带有 SPA 的授权码授予流程,一切正常,但现在我想在接下来的 30 天内使用该 access_token 或 refresh_token,我该如何管理?即使我使用签名扩展
      • 而且我在查看该文档时也遇到错误错误:SyntaxError: Unexpected token % in JSON at position 0 at JSON.parse message: "Http failure during parsing for demo.docusign.net/restapi/v2.1/accounts/…" name: "HttpErrorResponse " ok: false status: 200 statusText: "OK" url: "demo.docusign.net/restapi/v2.1/accounts/…"
      • 请在 StackOverflow 上打开一个新问题。如上所述,SPA 应用程序仅支持隐式授权。这是由于 OAuth RFC 不允许将机密存储在 Angular 或类似应用程序中。
      猜你喜欢
      • 2021-06-19
      • 2020-07-12
      • 2021-12-05
      • 2019-06-23
      • 2020-10-06
      • 2017-10-25
      • 2016-09-23
      • 2014-09-13
      • 1970-01-01
      相关资源
      最近更新 更多