Override default auth login method in laravel 8; Through this tutorial, you will learn how to override auth login method or function in laravel 8 applications.
Sometimes, you may need to customize the default login functionality into your laravel applications; So this tutorial will show how to customize the default auth login functionality or method in laravel.
How to Override Login Method in Laravel 8
See the following example for overriding auth login function in Laravel 8 applications:
First of all, open your web.php file and see the default login routes; as shown below:
Route::post('login', 'Auth\LoginController@login');
Then open your LoginController and find the login method into it; And change it according to your requirement; as shown below:
<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Http\Request; use Auth; class LoginController extends Controller { /* |-------------------------------------------------------------------------- | Login Controller |-------------------------------------------------------------------------- | | This controller handles authenticating users for the application and | redirecting them to your home screen. The controller uses a trait | to conveniently provide its functionality to your applications. | */ use AuthenticatesUsers; /** * Where to redirect users after login. * * @var string */ protected $redirectTo = RouteServiceProvider::HOME; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest')->except('logout'); } /** * Write code on Method * * @return response() */ public function login(Request $request) { $request->validate([ 'email' => 'required', 'password' => 'required', ]); $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { return redirect()->route('home'); } return redirect("login")->withSuccess('Oppes! You have entered invalid credentials'); } }