Laravel’s built in auth system uses an email address and password to validate credentials for cases where you want to use a username instead of an email address you can do the following:
Add a username column to the users table then add a username() method to App/Controllers/Auth/LoginController:
the default is email so place ‘username’ instead and this will be used instead of an email.
public function username()
{
return 'username';
}
Next edit the login view and change the email field to a username field.
That’s it.