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 组件?

Laravel 将 json 传递给 vue.js

Laravel + Vue - 将多维 PHP 数组传递给 vue 组件

将 Laravel 路由传递给 vue 组件

无法将 Laravel 刀片文件中的道具传递给 Vue 组件

如何将 Laravel 数据(json)传递给 Vue 组件