React / Apollo 2 - 存储身份验证状态的正确方法是什么?

时间:2018-03-27 22:36:28

标签: reactjs react-apollo

我不太确定要提出的正确问题是什么,但我会描述我正在尝试做什么。

现行方法:

目前在我的React App中,当用户点击我的handleSubmit函数时,它会将凭据发送到我的服务器端进行验证,验证后它会将一个用户对象以及一个200状态代码发送回我的客户端侧。如果客户端收到状态200,那么我有一个类似于updateAuthStatus的变异方法({variables:{isAuthed:true}})。如果发送400状态,则会弹出错误警报。

更新缓存后,我的私有路由将检查isAuthed状态以呈现某些组件。

问题:

如果在正确的位置放置断点,则可以在控制台中使用“true”运行updateAuthStatus命令,它将更新缓存,然后您将可以访问私有路由。

可能的选择:

我想到了另一种方法,即在我的数据库中为经过身份验证的用户添加另一列,并在验证过程完成后在服务器端设置。然后在我的客户端,它将在呈现每个视图之前发出检查用户是否经过身份验证的请求。

但这种方式似乎不太正确,因为每次推送新路由时都必须向服务器发出请求...

根据我的理解,没有真正的方法来防止在控制台中调用您的函数,如果是这样的话,解决这样的问题的正确方法是什么?我该如何检查用户的身份验证状态?

我正在使用Apollo 2.0进行状态管理

0 个答案:

没有答案