我设法用拉拉护照登录了。我有记号,很好。但我想保持登录用户信息,姓名,阿凡达等。
我的登录过程得到了oauth令牌。在仪表板组件中,我对用户数据进行api调用。
我应该将它们保存在全局Vue对象中还是使用Vuex?安全吗?
发布于 2017-04-18 12:35:14
一些你可能会考虑的选择
我的建议是将auth令牌存储在cookie中,这实际上是成功调用后端所必需的。这将使您发送的每一个请求都非常容易访问它。
为了存储用户信息,我建议要么创建包装组件,要么使用根vue实例。下面的示例应该对此进行清理。
包装主组件(内联模板)
data: function() {
return { userinfo: {} }
},
created: function() {
// load your user info
}然后在index.html /主视图中使用它
<body>
<home inline-template>
<!-- any stuff here -->
<!-- pass the user prop to every component that is shown in the userinfo -->
<router-view :user="userinfo"></router-view>
</home>
</body> 然后,在路由器视图中显示的组件可以访问用户支柱。
示例组件
...
props: ['user'],
...
<template>
<span>{{ user.name }}</span>
</template>
...重要:要完成这项工作,还需要将道具:真正的添加到您的路由定义中。这里详细说明了一切:https://router.vuejs.org/en/essentials/passing-props.html
注意:如果不想在包装组件中加载用户数据,可以将其加载到其他任何地方,并使用事件总线将结果传递到包装组件。但是,您应该始终只有一个关于用户信息的真相来源。只存放在一个地方。
发布于 2017-08-24 03:42:07
我发现会话助手非常容易使用,它解决了全局使用oauth令牌的问题:
见:https://laravel.com/docs/5.4/session,标题:全球会话助手
https://stackoverflow.com/questions/43469358
复制相似问题