Angular - Asp.net 核心 webAPI:如何防止自动调用 webapi 导致刷新令牌

问题描述 投票:0回答:1

对于我目前正在进行的项目,我遇到了一个问题。 一方面,我有一个客户端,它是一个有角度的 SPA。 另一方面,我在 asp.net core 6 中编写了一个 webapi。 webapi 由 Jwt 和刷新令牌保护。

我最近向客户端添加了一个功能,其中每分钟都会触发对 web api 的调用。一切正常,但引入了一个问题。 这些自动调用有副作用。他们触发令牌刷新,以便用户会话永远不会结束。

对 api 的调用需要 jwt,因为它需要用户标识。

如何在不触发令牌刷新过程的情况下保持每 1 分钟调用一次 api?

angular jwt webapi refresh-token
1个回答
0
投票

解决此问题的一种方法是修改每分钟调用一次的 API 端点,使其不触发令牌刷新。为此,您可以添加一个不需要用户身份或访问级别的新 API 端点,并使用此端点而不是现有端点进行自动调用。

或者,您可以考虑将自动调用的频率更改为更长的间隔,例如每 5 或 10 分钟一次,这样用户的会话就不会不断刷新。这可以帮助减少服务器上的负载并提高性能。

另一种方法是修改令牌刷新机制,仅在自上次刷新后经过一定时间后才刷新令牌。例如,您可以将阈值设置为 5 或 10 分钟,以便仅当用户在该时间段内处于非活动状态时才会刷新令牌。这将允许自动调用继续而不会触发令牌刷新,同时仍确保用户的会话保持活动状态。

最终,您选择的方法将取决于您的具体要求和限制。可能值得与您的团队讨论这个问题,以探索不同的解决方案并评估每个方案的权衡。

© www.soinside.com 2019 - 2024. All rights reserved.