/ / Erstellen einer Passwort-Reset-Funktion ohne Verwendung von Laravel make: auth - laravel, jwt, jwt-auth

Erstellen einer Funktion zum Zurücksetzen des Passworts ohne Verwendung von Laravel

Ich habe es mit Laravel 5.6 zu tun. Ich verwende die JWT-Authentifizierung und erstelle meinen eigenen Authentifizierungscontroller.

Dies ist meine Wiederherstellungsmethode bei 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."]
]);
}

Wenn ich im Postboten die Wiederherstellungsmethode ausführe, erhalte ich diese Meldung

{
"success": false,
"error": "Route [password.reset] not defined."
}

Wie kann ich damit umgehen? Vielen Dank!

Antworten:

0 für die Antwort № 1

In diesem Fall müssen Sie der Route einen Namen geben password.reset. In deinem routes.php (oder wo immer Sie sie definiert haben) name Methode:

Route::post("/password/reset", "AuthController@recover")->name("password.reset");

0 für die Antwort № 2

Wenn du nicht rennst make:auth Sie haben die Route nicht definiert, wie der Fehler selbst sagt.
Versuchen Sie, die folgende Route in zu definieren routes/web.php

Route::post("/pwdreset", "AuthController@recover")
->name("password.reset");