Создание функции сброса пароля без использования Laravel make:auth
Я имею дело с Laravel 5.6. Я использую аутентификацию JWT и создаю свой собственный контроллер аутентификации.
Это мой метод восстановления в AuthController,
public function recover(Request $request)
{
$user = User::where('email', $request->email)->first();
if (!$user) {
$error_message = "Your email address was not found.";
return response()->json(['success' => false, 'error' => ['email'=> $error_message]], 401);
}
try {
Password::sendResetLink($request->only('email'), function (Message $message) {
$message->subject('Your Password Reset Link');
});
} catch (\Exception $e) {
$error_message = $e->getMessage();
return response()->json(['success' => false, 'error' => $error_message], 401);
}
return response()->json([
'success' => true, 'data'=> ['message'=> 'A reset email has been sent! Please check your email.']
]);
}
В почтальоне, если я выполняю метод восстановления, я получаю это сообщение
{
"success": false,
"error": "Route [password.reset] not defined."
}
Как я могу справиться с этим. Спасибо!
2 ответа
Решение
Вам нужно дать название маршруту, в этом случае password.reset
, В вашем routes.php
(или там, где вы их определили) вызовите name
метод:
Route::post('/password/reset', 'AuthController@recover')->name('password.reset');
Если ты не побежал make:auth
у вас нет определенного маршрута, как говорит сама ошибка.
Попробуйте определить следующий маршрут в routes/web.php
Route::post('/pwdreset', 'AuthController@recover')
->name('password.reset');