Halo teman-teman semuanya, diartikel sebelumnya kita semua seudah belajar bersama-sama bagaimana cara installasi dan konfigurasi project baru dengan Laravel. Dan pada kesempatan kali ini kita semua akan belajar bagaimana cara installasi dan konfigurasi Laravel Fortify di dalam project Laravel kita.
Laravel Fortify merupakan backend uathentication yang digunakan oleh Laravel Jetsream. Ya benar, bahwa Laravel Jetstream untuk proses authentication dia menggunakan service yang dimiliki oleh Laravel Fortify. Seperti, register
, login
, forgot password
, reset password
, sampai two-factor authentication
. Langsung saja kita mulai.
Langkah 1 - Installasi Laravel Fortify
Silahkan masuk di dalam project Laravel yang sebelumnya kita sudah buat, kemudian jalankan perintah di bawah ini untuk melakukan installasi Laravel Fortify :
composer require laravel/fortify
Silahkan tunggu proses installasi sampai selesai, dan pastikan teman-teman harus terhubung dengan interrnet, karena package ini akan diunduh secara online.
Langkah 2 - Konfigurasi Laravel Fortify
Setelah proses installasi Laravel Fortify menggunakan Composer selesai, sekarang kita lanjutkan untuk melakukan publish file-file konfigurasi dari Laravel Fortify. Silahkan jalankan perintah di bawah ini :
php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider"
Jika berhasil, kita akan mendapatkan banyak sekali file-file untuk kebutuhan Authenticarion di dalam project Laravel kita, diantaranya adalah :
- app/Actions/Fortify/
- app/config/fortify.php
- app/Providers/FortifyServiceProvider.php
Di dalam folder app/Actions/Fortify/ ada beberapa file, dimana file-file inilah yang akan digunakan untuk melakukan beberapa action, seperti Create User
, Password Validation
, Reset Password
, Update Password
dan Update Profile
. Dimana disini kita juga bisa melakukan kustomisasi sesuai dengan kebutuhan kita.
Untuk file app/config/fortify.php
berisi bebepa konfigurasi yang ada di dalam Laravel Fortify, seperti default Guard
, Middleware
, sampai fitur-fitur yang ada di dalam Laravel Fortify.
Langkah 3 - Mengaktifkan Fitur Authentication
Sekarang kita akan mengaktifkan view untuk Authentication di Laravel Fortify. Silahakn buka file app/Providers/FortifyServiceProvider.php
pada function boot
silahkan tambahkan kode berikut ini :
//register
Fortify::registerView(function () {
return view('auth.register');
});
//login
Fortify::loginView(function () {
return view('auth.login');
});
//forgot
Fortify::requestPasswordResetLinkView(function () {
return view('auth.forgot-password');
});
//reset
Fortify::resetPasswordView(function ($request) {
return view('auth.reset-password', ['request' => $request]);
});
Di atas untuk register kita akan menggunakan view dengan nama register.blade.php
yang berada di dalam folder auth
. Kurang lebih seperti berikut ini :
//register
Fortify::registerView(function () {
return view('auth.register');
});
Dan untuk proses login, kita menggunakan nama file login.blade.php
di dalam folder auth
. Kurang lebih seperti ini :
//login
Fortify::loginView(function () {
return view('auth.login');
});
Kemudian untuk view yang akan kita gunakan untuk mengirim link reset password yaitu forgot-password.blade.php
yang berada di dalam folder auth
. Kurang lebih seperti berikut ini :
//forgot
Fortify::requestPasswordResetLinkView(function () {
return view('auth.forgot-password');
});
Setelah link berhasil dikirim melalui email, maka kita akan melakukan update password. Dan untuk view yang akan kita gunakan yaitu reset-password.blade.php
yang nanti akan dibuat di dalam folder auth
. Kurang lebih seperti ini :
//reset
Fortify::resetPasswordView(function ($request) {
return view('auth.reset-password', ['request' => $request]);
});
Jika file app/Providers/FortifyServiceProvider.php
di tulis dengan lengkap, kurang lebih seperti berikut ini :
<?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;
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);
//register
Fortify::registerView(function () {
return view('auth.register');
});
//login
Fortify::loginView(function () {
return view('auth.login');
});
//forgot
Fortify::requestPasswordResetLinkView(function () {
return view('auth.forgot-password');
});
//reset
Fortify::resetPasswordView(function ($request) {
return view('auth.reset-password', ['request' => $request]);
});
}
}
Langkah 4 - Register Fortify Service Providers
Setelah kita berhasil mengaktifkan view untuk Authentication di dalam function boot
di FortifyServiceprovider, sekarang kita lanjutkan untuk melakukan register provider dari Laravel Fortify. Silahkan buka file config/app.php
kemudian tambahkan kode berikut ini di dalam array providers
:
'providers' => [
...
App\Providers\FortifyServiceProvider::class,
];
Sekarang kita sudah bisa menggunakan Laravel Fortify di dalam Project Laravel kita untuk melakukan proses Autentication. Jika ingin menggunakan fitur Two-factor Authentication, silahkan teman-teman bisa membuat tampilannya sendiri, karena Laravel Fortify tidak menyediakan templaate tersebut. Akan tetapi jika menggunakan Laravel Jetstream, maka tampilan tersebut sudah otomatis dibuatkan.
Langkah 5 - Menjalankan Migration
Setelah semua proses installasi dan konfigurasi Laravel Fortify selesai, sekarang kita lanjutkan untuk melakukan migrasi database. Silahkan jalankan perintah di bawah ini :
php artisan migrate
Jika Berhasil maka teman-teman bisa cek database dengan nama db_laravel_fortify
, maka kita sudah berhasil dibuatkan beberapa table secara otomatis.
Di artikel selanjutnya kita semua akan belajar bagaimana cara membuat proses Register menggunakan Laravel Fortify. Dan kita akan menggunakan Bootstrap untuk membuat tampilannya. Terima Kasih