【问题标题】:What is the best process flow when accessing API with valid or invalid access token?使用有效或无效访问令牌访问 API 时,最佳流程是什么?
【发布时间】:2020-10-13 13:28:38
【问题描述】:

我试图用谷歌搜索这个,但无法得到我正在寻找的答案。我对身份验证很陌生,所以也许我没有在寻找正确的术语。

我有以下设置:

我有一个 IdentityServer4 来验证用户/客户端。 我有一个客户端移动应用程序。 我有一个受 IdentityServer 保护的 API。

考虑到所有可能发生的情况,我试图找出在考虑用户身份验证时实现程序流程的最佳方式。谁能推荐一个事件流程以获得最佳用户体验?

所以用户登录到 IdentityServer,我得到了一个授权码(5 分钟后过期)。我还有一个刷新令牌,我可以安全地保存它。

我可以在接下来的 5 分钟内使用访问令牌访问 API。

现在,假设我想在几分钟后再次查询 API,如何检测此访问令牌仍然有效?最好的方法是简单地尝试访问 API,如果你得到一个 401,用刷新令牌返回 IdentityServer?或者您是否保留到期时间的内部记录并在不退出 API 的情况下进行刷新?我只是在寻找这方面的指导,因为我找不到有关流程的任何讨论或帖子。

【问题讨论】:

    标签: authentication identityserver4 access-token refresh-token


    【解决方案1】:

    首先,您需要使用您的授权码来获取访问令牌。 访问令牌的默认生命周期为 1 小时。如果令牌现在有一个小时的生命周期,那么您可以在(例如)55 分钟后在代码中使用 刷新令牌 来获取新的访问令牌。

    或者如您所说,如果您返回 401,请尝试使用刷新令牌来获取新令牌。

    您还可以以编程方式将访问令牌传递给令牌自省端点,以检查令牌是否仍然有效

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-11
      • 1970-01-01
      • 2022-07-05
      • 1970-01-01
      • 2012-06-21
      • 2017-06-16
      • 2016-03-11
      • 2020-10-30
      相关资源
      最近更新 更多