【问题标题】:Using access tokens to make API requests使用访问令牌发出 API 请求
【发布时间】:2018-08-22 05:43:47
【问题描述】:

我一直在阅读 IdentityServer4,我的理解是(在高级别上)一旦 IdentityServer4 设置好,如果客户端已被授予访问权限,注册客户端就可以对定义的 API 资源进行 API 调用。 使用 C#,我可以: 1. 从 IdentityServer4 请求访问令牌,然后, 2. 将此令牌与我的请求一起传递给 API。 我的问题是,由于令牌具有定义的生命周期,例如 3600 秒,因此说客户端需要在本地存储此令牌并在 3600 秒内将其用于所有 API 调用是否正确?如果是这样,这意味着客户端应该以某种方式知道令牌何时过期。这将如何实现? 我的另一个问题是“刷新”令牌如何工作。他们什么时候在整个过程中“介入”。

谢谢

【问题讨论】:

    标签: identityserver4


    【解决方案1】:

    长话短说,由客户负责更新其使用的令牌。这可以基于已知的到期时间(带有一点缓冲区),但 OAuth 还定义了来自 API 端点的标准错误响应,可以向客户端指示需要新令牌。客户应尊重这些并采取相应的行动。 这取决于所使用的授权类型。例如。使用客户端凭据,虽然可能不是最有效的,但可能需要为每个调用或“会话”(即与处理给定任务相关的多个调用)获取一个新令牌以避免这种复杂性。

    【讨论】:

      猜你喜欢
      • 2019-02-19
      • 2018-01-19
      • 2013-02-17
      • 2021-11-27
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多