Oauth 2.0 授权码授予:当用户不在场时,我如何获得访问令牌?

Oauth 2.0 授权码授予:当用户不在场时,我如何获得访问令牌?,oauth-2.0,authorization,docusignapi,Oauth 2.0,Authorization,Docusignapi,我想让用户只授权我的应用程序一次,然后即使在他没有连接到执行自动操作的情况下,也可以使用他的凭据进行DocuSign API调用 我目前正在使用授权码授权,但如何才能不让用户再次授权我的应用程序?一个很好的问题。以下是答案: 对用户使用授权码授权时,除了范围签名 在用户验证并授予同意后,您的应用程序将收到访问令牌(有效期为8小时)和刷新令牌(有效期为30天) 然后,当应用程序需要使用DocuSign API时,使用访问令牌(无论用户是否在场)。如果不起作用,则使用刷新操作获取新的访问令牌(有效期

我想让用户只授权我的应用程序一次,然后即使在他没有连接到执行自动操作的情况下,也可以使用他的凭据进行DocuSign API调用


我目前正在使用授权码授权,但如何才能不让用户再次授权我的应用程序?

一个很好的问题。以下是答案:

  • 对用户使用授权码授权时,除了范围
    签名
  • 在用户验证并授予同意后,您的应用程序将收到访问令牌(有效期为8小时)和刷新令牌(有效期为30天)
  • 然后,当应用程序需要使用DocuSign API时,使用访问令牌(无论用户是否在场)。如果不起作用,则使用刷新操作获取新的访问令牌(有效期为8小时)和新的刷新令牌(有效期为刷新操作后的30天)
  • 结果:您的应用程序将始终能够使用其当前访问令牌让用户代表用户进行操作,或者能够获取新的访问令牌供用户使用

    警告:您的应用程序需要至少每30天使用一次刷新操作,否则刷新令牌将过期。在这种情况下,用户需要通过您的应用程序和授权码授权流重新验证

    角落案例:由于用户可以随时撤回同意,您的应用程序应该优雅地处理该案例

    注意由于刷新令牌持续30天,因此您需要将其存储在持久存储(例如DBMS)中,而不仅仅是存储在内存中