使用有效或无效的访问令牌访问 API 时,最佳流程是什么?



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

我有以下设置:

我有一个身份服务器4来验证用户/客户端。 我有一个客户端移动应用程序。 我有一个受身份服务器保护的 API。

考虑到可能发生的所有场景,我正在尝试找出在考虑用户身份验证时实现程序流的最佳方法。 任何人都可以推荐事件流以获得最佳用户体验吗?

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

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

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

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

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

还可以以编程方式将访问令牌传递到令牌侦测终结点,以检查令牌是否仍然有效

相关内容

最新更新