将客户端Vuex状态同步到服务器端状态的最佳做法?

问题描述 投票:1回答:1

我已经克隆了vue-hackernews-2.0,这是一个具有SSR和vuex的Vue.js应用。

此应用程序listens on port 8080,而我的api服务器在本地开发环境中侦听3000。我正在尝试使用jwt在其中实现用户身份验证。

当客户端从api服务器接收令牌时,客户端状态会使用令牌更新,但是如何使服务器端状态知道用户已登录

[通常,如何同步客户端和服务器端状态?

我想到的一个丑陋的技巧是,当用户使用正确的凭据登录时,API服务器应该打开与8080服务器的套接字连接,并在服务器端触发状态更新?它是可接受/可扩展的解决方案吗?关于此的最佳实践是什么?

更多详细信息.. >>(a)在路由器中,我实现了导航保护功能:

      ....
      if (router.app.$store.getters.isLoggedIn)  next()
      else  next('/login')
      ...

现在登录页面中,我将动作发布到api服务器上(而不是端口8080上的vue服务器),并将令牌存储在客户端状态。但是,当我重新加载已登录的仪表板页面时,无法在服务器端状态找到令牌,上面的函数isLoggedIn返回false,并尝试呈现登录页面请参见上面的代码

,因此客户端DOM与服务器呈现的页面不匹配,客户端尝试在客户端重新呈现DOM。

我克隆了带有SSR和vuex的Vue.js应用程序vue-hackernews-2.0。此应用程序侦听端口8080,而我的api服务器侦听本地开发环境中的3000。我正在尝试实现用户...

vue.js vuejs2 vuex ssr
1个回答
0
投票

嗯,你写你正在使用jwt。

© www.soinside.com 2019 - 2024. All rights reserved.