what starter kit are you using or you are doing it manually ?
How to customize Password Reset Link in Laravel 9?
I'm trying to change the URL inside the Password Reset Link. The Laravel 9 docs say to add this to the User.php model:
use App\Notifications\ResetPasswordNotification;
/**
* Send a password reset notification to the user.
*
* @param string $token
* @return void
*/
public function sendPasswordResetNotification($token)
{
$url = 'https://example.com/reset-password?token='.$token;
$this->notify(new ResetPasswordNotification($url));
}
ResetPasswordNotification does not seem to be in my file system (Laravel 9.43.0). Instead I found ResetPassword class from the same location which seems to replace ResetPasswordNotification. I've added this to User.php model:
use Illuminate\Auth\Notifications\ResetPassword;
public function sendPasswordResetNotification($token)
{
$url = 'https://example.com/reset-password?token='.$token;
$this->notify(new ResetPassword($url));
}
but the link that is sent to my email is this:
http://localhost:3000/password-reset/https://example.com/reset-password?token=4d9d948903e9264653b224e423c6b27e9fce2c901876c3372d3561523f09fcb9?email=ArturMuellerRomanov@gmail.com
As you can see the $url variable string gets inserted in between the real URL and $token. How do I REPLACE the URL instead?
Thanks to a guy (who deleted his answer) I've read this part more thoroughly, which tells to add a method to the AuthServiceProvider.php. I haven't realized that this method already existed in my case because I'm using the laravel/breeze -api package:
public function boot()
{
$this->registerPolicies();
ResetPassword::createUrlUsing(function ($notifiable, $token) {
return config('app.frontend_url')."/password-reset/.$token?email={$notifiable->getEmailForPasswordReset()}";
});
//
}
There I can easily customize the URL.
Please or to participate in this conversation.