我重新安装了Laravel 5.1,但在尝试登录用户时遇到令牌不匹配错误。我没有使用表单,而是使用ajax调用,在谷歌验证满足后登录用户。Laravel 5.1身份验证 - 令牌错误
我的错误是:TokenMismatchException in VerifyCsrfToken.php line 53
我的控制器被击中与Ajax调用:
<?php
namespace App\Http\Controllers;
use App\Email;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Google_Client;
use Auth;
use App\User;
class verify extends Controller
{
public function verifyIdToken(Request $request)
{
$user = User::where('name', 'Molly')->first();
Auth::login($user);
if (Auth::check($user))
{
return response()->json(['Logged In' => "Yes!"]);
}
}
}
我没有得到回应,并出现上述错误仅500内部服务器错误。然而,我看到一个laravel会话cookie被返回,所以我对于发生了什么感到非常困惑。这个标记是什么?它为什么会抛出一个错误?
欲了解更多信息,我routes.php
文件是:
if (Auth::guest()) {
Route::get('/', function() {
return view('welcome');
});
} else {
Route::get('/', ['middleware' => 'auth', function() {
return view('mainview');
}]);
}
编辑:基本上,我想打在Ajax调用来验证用户控制器是登录,没有任何内部服务器错误,以便在刷新,它们被重新路由到mainview
而不是welcome
页面。
您是否在ajax调用上发送令牌? – Meroje
@Meroje号这甚至从哪里来? –