Попытка добавить пользователя в Laravel, используя Angular, но он показывает мне ошибку - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь использовать метод post, чтобы передать пользователя в Laravel, используя форму в HTML, чтобы я мог сохранить пользователя в UserController в базу данных. Я получаю CSRF Token mismatch ошибку.

Я использовал этот метод для хранения пользователя:

addUser(user: User):Observable<User>{
     return this.http.post<User>(this.apiURL+'/addUser',user, httpOptions);
}

Когда я console.log пользователь, он работает нормально. Он показывает мне все атрибуты, когда я нажимаю на Submit.

Я использую этот маршрут в Laravel для хранения пользователя:

Route::post('/addUser','UserController@create');

В методе Controller я использовал этот код:

public function create(Request $request)
    {
        $data2 = $request->json()->all(); 
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }

1 Ответ

1 голос
/ 18 июня 2019

В Laravel по умолчанию включено промежуточное ПО VerifyCsrfToken для всех маршрутов.Это для безопасности (чтобы избежать межсайтовых атак) и проверки на токен CSRF для всех запросов.Но вы можете установить промежуточное ПО для групп маршрутов, таких как web, api', console`.

Попробуйте переместить VerifyCsrfToken промежуточное ПО из переменной $middleware в web группу в $middlewareGroups переменной в Http/Kernel.php.Делая это, вы включаете это промежуточное программное обеспечение только для web маршрутов.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...