Javascript 如何检查身份验证令牌是否过期并强制注销?
我正在使用auth0进行客户端用户身份验证和授权。这就是流程`Javascript 如何检查身份验证令牌是否过期并强制注销?,javascript,node.js,reactjs,authentication,oauth-2.0,Javascript,Node.js,Reactjs,Authentication,Oauth 2.0,我正在使用auth0进行客户端用户身份验证和授权。这就是流程` const authService = new auth0.WebAuth(coreConstants.AUTH0_OPTIONS); const currentDate = Date.now(); authService.parseHash((err, authResult) => { if(err) console.log(err) const idToken = authResult.idToken;
const authService = new auth0.WebAuth(coreConstants.AUTH0_OPTIONS);
const currentDate = Date.now();
authService.parseHash((err, authResult) => {
if(err) console.log(err)
const idToken = authResult.idToken;
window.localStorage.setItem('auth', JSON.stringify({
expiresAt: someDate + Date.now()
accessToken: authResult.accessToken,
idToken,
}));
})
我现在的问题是,当令牌过期时,用户仍然可以与页面交互,只需刷新页面即可将用户重定向到登录页面。我已经阅读了
auth0
文档,但找不到检查令牌是否过期的适当解决方案。有什么建议吗?你试过了吗?它将检查令牌是否过期。每次加载页面时都要检查什么条件?我正在检查expireDate是否小于currentDate,如果不小于currentDate,用户应再次通过验证流。但是,身份验证
功能在componentDidMount中只运行一次。我只是认为在每次路由更改中调用它并不是一个好的做法,添加完整的代码。所以我可以查一下。共享路由器模块名称,也可以使用express jwt。是否可以使用该库进行检查?我不知道是否可能,请尝试一下,或者您可以使用这个express jwt–软件包。