问题是我的应用程序(C#后端/ JS前端)中实现了JWT身份验证。我希望在超过令牌过期后自动将用户重定向到登录页面(将其踢出)。
我正在研究如何实现这一目标,并且得出的结论是,我想要一种优雅的方式来在给定日期的特定时间触发函数。
const tokenExpiresIn = 10000; // <- token expires in 10 seconds
选项1
好,setTimeout
setTimeout( () => { /* do redirect */ }, tokenExpiresIn);
选项2
始终检查令牌到期
setInterval( () => { /* is the current time greater than the expiry time */ }, 1000);
我可以看到选项1 的效率更高,因为我不经常执行检查(例如选项2 是),但是如果刷新令牌,我将拥有添加代码以清除/更新interval
。但是,选项2 有点吸引人,因为我已经拥有可以通过本地存储更新令牌/到期时间的逻辑。
关于触发在特定时间重定向页面的功能的优美方式,还有其他选择吗?
我已经在对服务器的每个请求中都验证了令牌,以便覆盖该部分,只是试图考虑一个远程用户禁令/闲置用户的情况。
答案 0 :(得分:0)
setInterval和setTimeout都很棒,并且会根据其合同触发。
由于您正在寻找更多选择,因此这是我对内部网站所做的事情。
希望对您有帮助。