【问题标题】:Authorization Code Grant: how can I get an access token when the user is not present?授权码授予:当用户不存在时如何获取访问令牌?
【发布时间】:2019-04-21 21:12:58
【问题描述】:

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

我目前正在使用授权码授予,但我怎样才能不再要求用户再次授权我的应用程序?

【问题讨论】:

    标签: oauth-2.0 authorization docusignapi


    【解决方案1】:

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

    1. 当对用户使用授权码授予时,除了范围signature 之外,还包括范围extended
    2. 在用户进行身份验证并同意后,您的应用将收到一个访问令牌(有效期为 8 小时)和一个刷新令牌(有效期为 30 天)。
    3. 然后,当您的应用需要使用 DocuSign API 时,请使用访问令牌(无论用户是否存在)。如果不起作用,则使用刷新操作获取新的访问令牌(有效期为 8 小时)和新的刷新令牌(有效期为刷新操作后 30 天)

    结果:您的应用将始终能够使用其当前的访问令牌让用户代表用户执行操作,或者将能够获取新的访问令牌以供使用。

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

    极端情况:由于用户可以随时撤回同意,因此您的应用应该优雅地处理这种情况。

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

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 1970-01-01
      • 1970-01-01
      • 2018-12-20
      • 2022-08-18
      • 2019-03-21
      • 2018-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多