Vuejs2 使用vuejs和laravel进行身份验证

Vuejs2 使用vuejs和laravel进行身份验证,vuejs2,laravel-5.5,Vuejs2,Laravel 5.5,在使用laravel和vuejs的SPA应用程序中,我应该在哪里进行身份验证?我正在用laravel和blade开发一个普通的web应用程序。没有什么不寻常的,但是,现在,我正在尝试使用laravel和vuejs制作一个spa应用程序——后端与前端分离。在本例中,我必须在哪里进行身份验证?在php路由或vuejs路由中,还是同时在两者中?我的laravel应用程序,仅laravel,它按预期工作,用户权限,用户会话,一个普通的应用程序,但在vuejs中,我如何也可以执行相同的验证?在不知道您确切

在使用laravel和vuejs的SPA应用程序中,我应该在哪里进行身份验证?我正在用laravel和blade开发一个普通的web应用程序。没有什么不寻常的,但是,现在,我正在尝试使用laravel和vuejs制作一个spa应用程序——后端与前端分离。在本例中,我必须在哪里进行身份验证?在php路由或vuejs路由中,还是同时在两者中?我的laravel应用程序,仅laravel,它按预期工作,用户权限,用户会话,一个普通的应用程序,但在vuejs中,我如何也可以执行相同的验证?

在不知道您确切的laravel身份验证设置的情况下,我只想说您通过ajax以与在laravel中相同的路径进行身份验证。在使用axios的相当标准的设置中,我是这样做的

      ajaxLogin(){
            axios.post('/login',{
                email: this.loginEmail,
                password: this.loginPassword
            }).then(function (res) {
                this.getCrsfToken(); //refresh crsf token
            }.bind(this));
      }
注意这里的getCrsfToken函数。如果您的SPA页面在注销和重新登录时未刷新,这可能是必要的。与浏览器窗口打开时会话过期的情况类似。如果您将crsf令牌包括在标题中的标准Laravel方式中,那么您将使用以下类似的内容来刷新crsf令牌

在您的路线或控制器中

Route::get('/getToken', function(){
    return csrf_token();
})->middleware('auth');
在Vue组件中

getCrsfToken(){
    axios.get('/getToken')
         .then(function(res){
               // Refresh crsf token from session after login
               window.axios.defaults.headers.common['X-CSRF-TOKEN'] = res.data;
          });  
 },

查看laravel passport或使用json web令牌。你将无状态是一个关键的区别