ExpressJS和PassportJS注销-返回按钮
我正在使用PassportJS和ExpressJS。我有一个退出ExpressJS和PassportJS注销-返回按钮,express,passport.js,Express,Passport.js,我正在使用PassportJS和ExpressJS。我有一个退出的路径: app.get('/logout', function(req, res){ req.logout(); res.redirect('/'); }); 但是,当使用浏览器的“后退”按钮时,仍可以显示仅针对已登录用户的页面。如何避免上述情况?谢谢我认为有多种方法可以做到这一点。我在应用程序中使用passport的方式是,我有一个redux reducer+操作,调用“api/current_user”,然后
的路径
:
app.get('/logout', function(req, res){
req.logout();
res.redirect('/');
});
但是,当使用浏览器的“后退”按钮时,仍可以显示仅针对已登录用户的页面。如何避免上述情况?谢谢我认为有多种方法可以做到这一点。我在应用程序中使用passport的方式是,我有一个redux reducer+操作,调用“api/current_user”,然后返回一个值为true或false的道具。如果用户已登录,则为True;如果已注销,则为false
class ChatContainer extends Component {
renderContent() {
switch (this.props.auth) {
case null:
return;
case false:
return <Redirect to="/" />;
default:
return [<ChatHeader key="1" />, <ChatWindow key="2" />];
}
}
render() {
return <div className="chat-container">{this.renderContent()}</div>;
}
}
class ChatContainer扩展组件{
renderContent(){
开关(this.props.auth){
大小写为空:
返回;
案例错误:
返回;
违约:
返回[,];
}
}
render(){
返回{this.renderContent()};
}
}
聊天组件是/chat,它在显示任何内容之前会先执行renderContent()逻辑。只要您希望父组件(通过react router dom负责页面的组件)仅对登录用户可见,就可以使用mapStateToProps->this.props.auth
我认为,因为我们通过服务器使用oauth,所以锚定标记在这里是合适的,因为流程基本上是react->server(当我们注销时)->返回react登录页面。因此,我认为使用它是不合适的。很抱歉,答案迟了几年lol这方面有什么更新吗?真的会有帮助吗?