AibnuHibban
Posted on September 12, 2020
Bismillah
this time I can still write an article that hopefully can be useful for friends who read...
As the title implies, I want to share a little about Login Customization in Laravel 8
💡 Laravel 8 Update Info
Laravel has just updated to version 8 which brings a lot of new things, like using it TailwindCSS, Livewire, Folder Models, Jetstream, Factory Updates, and others ... You can read it yourself at https://laravel.com/docs/8.x/releases
With Jetstream, Laravel has removed the Laravel UI which was previously used in Laravel 6 and 7 as its Authentication Scaffold
Well .. Because of these changes, automatic customization for the login is different. Files that we usually encounter like LoginController.php are no longer in Laravel 8. Here are some Ways that have been found to customize Login in Laravel 8:
📬 Change the Email Input when Login
- Go to Folder config > fortify.php
- On Line 45 (Default) there is a key "username" => "email". Change the email to whatever you want, for example, username. So it becomes "username" => "username". That way you can log in using a username and password without the need for email. Of course it must also be adjusted to those in database.
🔓 Changing the Route / Destination After Successfully Login
- Go to Folder app > Providers > RouteServiceProvider.php
- Change the "/ dashboard" as desired on line 20
public const HOME = '/ dashboard';
after successful login it will go to the route you point here
🔐 Change the Minimum Requirement Password when registering
By default in Laravel 8, if we want to register then the password is at least 8 characters to change it:
- Go to vendor > laravel > fortify > src > Rule > Password.php
- Change
protected $ length = 8;
As you wish, for example 10 - And if you want when registering, the password must have an Uppercase character, just change it $requireUppercase from false to true
- And if you want to register, the password must be a number, just change $requireNumeric from false to true
✍️ Change Validation Language when Login & Register Error
- Still in the same FIle as the previous step
- Just scroll down a bit and you will see
function message ()
- Change the existing string in the function. to the language you want
❤️ Create Your Own Login Controller
So, for those of you who want to create your own login controller, you can follow these steps:
- Create a file with the name LoginController.php in app > Http > Controllers. Actually for the controller name free. Just an example so that it fits its function.
- then paste the following code in it
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller{
public function authenticate(Request $request){
// Retrive Input
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials)) {
// if success login
return redirect('berhasil');
//return redirect()->intended('/details');
}
// if failed login
return redirect('login');
}
}
- Change the part that I comment on the you wish
- Add routes at routes > web.php Example:
Route::post('logged_in', [LoginController::class, 'authenticate']);
- Change action attributes in login views and point to route
By creating your own Login Controller, you can also change your email to a username / other as you wish. Just change the text of the email in the $ credentials from the code I provided above.
⌛️ Closing
Ok, how? Already familiar with Authentication in Laravel 8? Actually there are many other Authentication configurations that can be changed.
So Hopefully Helpful ..
Thank you 👊
Posted on September 12, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.