Laravel 将 Auth 传递给 vue SPA
Posted
技术标签:
【中文标题】Laravel 将 Auth 传递给 vue SPA【英文标题】:Laravel pass Auth to vue SPA 【发布时间】:2018-12-03 04:54:23 【问题描述】:我有一个 laravel + vue 应用程序。使用 laravel Auth 和刀片完全管理身份验证。现在我正在系统内部构建一个 vue 应用程序。这个 vue 应用集成了 vue-router 和 vuex。我使用 Api 控制器处理来自我的 vue 应用程序的任何 http 请求。
app.js
Vue.use(VueRouter);
global.router = new VueRouter(
base: window.location.pathname.replace(/^(\/c\/[^\/]+).*/i,'$1'),
routes: routes
);
new Vue(
el: '#spa',
render: h => h(App),
router,
store: store,
);
除了如何将 Auth 数据从 laravel 传递到 vue 之外,其他一切都运行良好。以及如果用户从主 laravel 系统注销,如何自动注销用户。有什么解决方案或解决方法吗?
谢谢
【问题讨论】:
【参考方案1】:假设会话信息存储在 cookie 中,并且 vue 应用程序与 laravel 应用程序在同一个域上提供登录和 API,它可以通过 document.cookie
API 在前端使用。由于默认情况下每个请求中都包含 cookie,因此您不必关心将其与 AJAX 请求一起发送。
如果 vue 应用程序不在同一个域上提供服务,您必须使用 Laravel 文档的API Authentication chapter 中描述的基于令牌的方法。在这种情况下,您还必须关心CORS。
【讨论】:
以上是关于Laravel 将 Auth 传递给 vue SPA的主要内容,如果未能解决你的问题,请参考以下文章
Laravel + Vue - 将多维 PHP 数组传递给 vue 组件