ExpressJS和PassportJS注销-返回按钮

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”,然后

我正在使用PassportJS和ExpressJS。我有一个退出
的路径

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

这方面有什么更新吗?真的会有帮助吗?