Laravel Framework

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.