Laravel将Auth传递给vue SPA

时间:2018-06-24 11:30:23

标签: laravel session authentication vuejs2

我有一个laravel + vue应用程序。使用laravel Auth和Blades可以完全管理身份验证。现在,我正在系统内部构建一个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 个答案:

答案 0 :(得分:2)

假设会话信息存储在cookie中,而vue应用与laravel应用公开登录和API的域相同,则可以通过document.cookie API在前端使用它。由于默认情况下每个请求中都包含cookie,因此您不必担心将它与AJAX请求一起发送。

如果vue应用程序不在同一域中提供服务,则必须使用Laravel文档的API Authentication chapter中所述的基于令牌的方法。在这种情况下,您还必须关心CORS