У меня есть следующие маршруты:
Route::group(['prefix' => 'api/v1', 'middleware' => 'api'], function() { Route::resource('authenticate', 'AuthenticateController', ['only' => ['index']]); Route::post('authenticate', 'AuthenticateController@authenticate'); Route::resource('users', 'UserController'); });
У UserController
есть тест, гарантирующий, что когда пользователь отправляется через POST
, он правильно проверяет ввод. Это должно возвращать значение 422, если оно недействительно, но на самом деле оно возвращает 302. В Postman возникает ошибка маркера CSRF, предполагающая, что применяется группа промежуточного программного обеспечения, которая не является поведением, которое я хочу.
Как я могу предотвратить это?
В изменении RouteServiceProvider.php
$router->group([ 'namespace' => $this->namespace, 'middleware' => 'web', ], function ($router) { require app_path('Http/routes.php'); });
чтобы:
$router->group([ 'namespace' => $this->namespace, ], function ($router) { require app_path('Http/routes.php'); });
А затем заверните свои веб-маршруты с помощью Route::group(['middleware' => 'web'])
в routes.php
. Таким образом, маршруты api не будут затронуты промежуточным программным обеспечением.