【发布时间】:2019-05-03 22:33:50
【问题描述】:
我正在使用 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;
window.localStorage.setItem('auth', JSON.stringify({
expiresAt: someDate + Date.now()
accessToken: authResult.accessToken,
idToken,
}));
})
我现在的问题是,当令牌过期时,用户还可以与页面交互,只需刷新页面就会将用户重定向到登录页面。我已经阅读了auth0 文档,但找不到合适的解决方案来检查令牌是否已过期。有什么建议吗?
【问题讨论】:
-
您在每次页面加载时检查什么条件?
-
我正在检查 expireDate 是否小于 currentDate ,如果不是,用户应该再次通过身份验证流程。但是
authentication函数在 componentDidMount 中只运行一次。我只是认为在每次路线更改时都调用它不是一个好习惯 -
添加完整代码。所以我可以检查。也分享路由器模块名称
标签: javascript node.js reactjs authentication oauth-2.0