【发布时间】:2020-05-12 03:43:04
【问题描述】:
我使用react-router-dom 在只有几页的 React webapp 上进行路由。如果用户尚未使用 OAuth2 登录他们的 Google 帐户,我想阻止他们访问某些页面,所以我想像这样使用 ProtectedRoute 组件:
<BrowserRouter>
<Switch>
<Route path="/login" component={SignIn}/>
<ProtectedRoute path="/home" component={Home} />
</Switch>
</BrowserRouter>
我看到很多教程都推荐使用单例,例如通过组件树传递的全局变量、上下文或类实例来检查登录状态。有人不能直接进入开发人员工具并更改上下文吗?前任。将isLoggedIn:false 更改为true。
我正在使用socket.io 的全局实例进行服务器连接,因此重新加载页面并不理想。如果您离开页面并返回,Express 后端服务器会存储一个 JWT 以供验证。
谢谢!
【问题讨论】:
标签: javascript reactjs authentication oauth-2.0 jwt