【发布时间】:2021-11-20 08:52:43
【问题描述】:
我想在客户端检查令牌是否过期。
我的令牌存储在本地存储中。
现在我要做的是:调用服务器以检查它是否有效,但我只在路径为:https:exp.com/
代码:
useEffect(() => {
verifyToken(auth.token).then((res) => {
if (res.status !== 'success' && res.message === 'Token expired') {
signoutClient(() => {
router.push('/auth/login');
});
}
});
}, [auth.token, router]);
现在的问题是,如果用户直接转到另一个 url exp 怎么办:https:exp.com/helloworld
我正在考虑使用套接字,但我不知道它是否可以工作。
想法是:客户端保持监听状态,只要令牌过期,服务器就会发出一条消息。
知道我该怎么做吗?
【问题讨论】:
-
您不应该在客户端检查您的访问令牌。但是您仍然想要它,您可以将访问令牌保存在 cookie 中并为其设置过期时间。 LocalStorage 永不过期
-
@lamtacvu 我猜问题没有改变,不知何故我必须检查 cookie 是否过期?
-
你不能使用 JWTs TTL 作为跟踪有效性的一种方式吗?
标签: javascript node.js reactjs jwt