Laravel Jetstream Login with Username or Email Example

By Hardik Savani | April 6, 2021 | Category : Laravel


This article will provide example of laravel jetstream login with username. This article goes in detailed on login with username and password in laravel jetstream. In this article, we will implement a laravel jetstream login with username or email. i would like to share with you laravel jetstream login with username example.

I will give you step by step adding login with email or username in laravel jetstream. you can easily integrate with laravel 6, laravel 7 and laravel 8 version.

after installing laravel jetstream successfully. you need to do following changes on that files:

app/Providers/FortifyServiceProvider.php

<?php

namespace App\Providers;

use App\Actions\Fortify\CreateNewUser;

use App\Actions\Fortify\ResetUserPassword;

use App\Actions\Fortify\UpdateUserPassword;

use App\Actions\Fortify\UpdateUserProfileInformation;

use Illuminate\Support\ServiceProvider;

use Laravel\Fortify\Fortify;

use Laravel\Fortify\Http\Requests\LoginRequest;

use App\Models\User;

use Hash;

class FortifyServiceProvider extends ServiceProvider

{

/**

* Register any application services.

*

* @return void

*/

public function register()

{

}

/**

* Bootstrap any application services.

*

* @return void

*/

public function boot()

{

Fortify::createUsersUsing(CreateNewUser::class);

Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);

Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);

Fortify::resetUserPasswordsUsing(ResetUserPassword::class);

Fortify::authenticateUsing(function (LoginRequest $request) {

$user = User::where('email', $request->identity)

->orWhere('username', $request->identity)->first();

if (

$user &&

Hash::check($request->password, $user->password)

) {

return $user;

}

});

}

}

config/fortify.php

'username' => 'email',

to

'username' => 'identity',

resources/views/auth/login.blade.php

<x-guest-layout>

<x-jet-authentication-card>

<x-slot name="logo">

<x-jet-authentication-card-logo />

</x-slot>

<x-jet-validation-errors class="mb-4" />

@if (session('status'))

<div class="mb-4 font-medium text-sm text-green-600">

{{ session('status') }}

</div>

@endif

<form method="POST" action="{{ route('login') }}">

@csrf

<div>

<x-jet-label value="{{ __('Username/Email') }}" />

<x-jet-input class="block mt-1 w-full" type="text" name="identity" :value="old('email')" required autofocus />

</div>

<div class="mt-4">

<x-jet-label value="{{ __('Password') }}" />

<x-jet-input class="block mt-1 w-full" type="password" name="password" required autocomplete="current-password" />

</div>

<div class="block mt-4">

<label class="flex items-center">

<input type="checkbox" class="form-checkbox" name="remember">

<span class="ml-2 text-sm text-gray-600">{{ __('Remember me') }}</span>

</label>

</div>

<div class="flex items-center justify-end mt-4">

@if (Route::has('password.request'))

<a class="underline text-sm text-gray-600 hover:text-gray-900" href="{{ route('password.request') }}">

{{ __('Forgot your password?') }}

</a>

@endif

<x-jet-button class="ml-4">

{{ __('Login') }}

</x-jet-button>

</div>

</form>

</x-jet-authentication-card>

</x-guest-layout>

Now you can run and check it.

it will works as like bellow:

i hope it can help you...



Tags : Laravel


Hardik Savani
My name is Hardik Savani. I'm a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap from the early stage.
Follow Me: Github Twitter
***Do you want me hire for your Project Work? Then Contact US.

We are Recommending you: