How to redirect user after password reset in laravel


Posted 8 months ago by Ryan Dhungel

Category: Laravel

Viewed 524 times

Estimated read time: 2 minutes

Course of the day!

Laravel with React JS - Build Twitter Like Real Time Web App

Laravel with React JS - Build Twitter Like Real Time Web App

When a user insert new password after requesting a password reset link, he is redirected to /home. In my app there was no home page so there was an error. I want to be able to redirect user to any page i want after successful password reset. What is the best way to do that?

In laravel, reset password rules are written in ResetPasswords.php It is located in vendor/laravel/framework/src/Illuminate/Auth/ResetsPasswords.php 

 

It uses use RedirectsUsers; as you can see it in line 13.

 

If you want you can see RedirectsUsers.php which is located in vendor/laravel/framework/src/Illuminate/Auth/RedirectsUsers.php as you can see it redirects users to home by default.

 

return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';

 

The best solution here is to declare a variable in PasswordController.php

 

It is located in app/Http/Controllers/Auth/PasswordController.php

 

In PasswordController simply put the code below and modify the way you want

 

protected $redirectTo = '/pagename';

 

Replace pagename with the actual page name you want to redirect users after they successfully reset the password

 

This is how my PasswordController looks like, Here i have redirected a user to forum page after password reset:

 

<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;

class PasswordController extends Controller
{

use ResetsPasswords;

/** * Where to redirect users after password reset. * * @var string */
protected $redirectTo = 'forum';

/** * Create a new password controller instance. * * @return void */
public function __construct()
{
$this->middleware('guest');
}
}