Laravel 5.7 CSRF中间件

时间:2019-02-26 18:06:07

标签: php laravel testing csrf

根据Laravel 5.7文档

“运行测试时,将自动禁用CSRF中间件。”

但是我有以下测试

public function testUserLoginSuccesfully()
{
    $data = ['email' => 'test@user.com' , 'password' => bcrypt('test12345')];
    $csrf = csrf_token();

    $response = $this->withHeaders(['_token' => $csrf])
    ->post('/login',$data);

    $response->assertStatus(302)->assertRedirect('/home');

}

为了正常工作,我必须在VerifyCsrfToken.php中禁用csrf保护:

protected $except = [
    //
    '/login','/register'
];

如果不修改此属性,则会出现http 419错误。我不知道自己缺少什么,或者如何仅禁用csrf进行测试。

谢谢。

0 个答案:

没有答案