如何在多个Vue应用之间共享一个令牌

时间:2018-11-05 18:48:33

标签: javascript vue.js token

我想找到一种在多个vue应用之间共享一个令牌的方法。有了这个,我可以创建多个单页应用程序,模仿后端的微服务。我正在考虑将其放入Vuex并将状态保存在localstorage / cache中,但是我无法为另一个应用程序检索相同的状态。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

在这种情况下,使用cookies是合适的。

localStorage不同,possible在父域(cookie)和子域(example.com)之间共享相同的sub-domain.example.com。通过将Cookie的domain属性指定为通配符-.example.com(请注意域名前面的前导点)来完成。 Relevant answer

根据应用程序体系结构,您可以在应用程序启动时在前端手动阅读cookie,验证用户是否被登录并将其保存到商店。

如果API也托管在子域中,则可以向API发出请求(如果指定了cookie域,则cookie标头将随请求一起发送),并验证用户是否有权访问该应用。仅在API不以不同方式(例如,在有效负载或token标头中)检查Authorization的情况下才建议使用。

在两种情况下,建议创建API端点以验证令牌,在应用程序安装时调用它并适当地处理。

此外,由于手动管理cookie可能会很不舒服,因此使用第三方库将提供与使用localStorage相似的API。例如:js-cookie