Setelah berhasil melakukan installasi project laravel selanjutnya kita akan melakukan installasi authtentication pada project laravel kita, agar project kita menjadi starter kit yang lengkap. Disini kita akan menggunakan Laravel Fortify sebagai authtenticaiton pada project laravel kita.
Langkah 1 - Installasi Laravel Fortify
Silahkan buka terminal/CMD dan pastikan teman - teman sudah berada pada larastart kita, selanjutnya jalankan perintah sebagai berikut
composer require laravel/fortify
Setelah berhasil melakukan installasi laravel fortify selanjutnya kita harus melakukan publish konfigurasinya, silahkan teman - teman jalankan perintah sebagai berikut
php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider"
Jika perintah diatas berhasil dijalankan, maka kita akan mendapatkan beberapa file konfigurasi, diantaranya adalah :
-
app/Actions/Fortify/*
-
config/fortify.php
-
app/Providers/FortifyServiceProvider.php
-
database/migrations/2014_10_12_200000_add_two_factor_columns_to_users_table.php
Langkah 2 - Mengaktifkan View di Provider
Sekarang, kita akan menambahkan beberapa kode yang bertujuan untuk proses pengaktifan beberapa halaman, silahkan buka file app/Providers/FortifyServiceProvider.php
dan pada function boot
tambahkan kode berikut ini :
Fortify::loginView(function () {
return view('auth.login');
});
Fortify::registerView(function () {
return view('auth.register');
});
Di atas kita menambahkan beberapa kode untuk melakukan load view, seperti login, forgot password, resep password, confirm password dan two factor authentication. Dimana file-file view tersebut akan kita buat nanti di dalam folder views/auth
.
Dan jika file app/Providers/FortifyServiceProvider.php
di tulis secara lengkap, kurang lebih menjadi 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\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
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);
RateLimiter::for('login', function (Request $request) {
$email = (string) $request->email;
return Limit::perMinute(5)->by($email.$request->ip());
});
RateLimiter::for('two-factor', function (Request $request) {
return Limit::perMinute(5)->by($request->session()->get('login.id'));
});
/**
* VIEW
*/
//login
Fortify::loginView(function () {
return view('auth.login');
});
//register
Fortify::registerView(function () {
return view('auth.register');
});
}
}
Langkah 3 - Register Fortify Service Provider
Sekarang, kita akan lakukan registrasi Laravel Fortify di dalam Providers Laravel, silahkan buka file config/app.php
kemudian tambahkan kode berikut ini di dalam array providers
.
'providers' => [
...
App\Providers\FortifyServiceProvider::class,
];
Langkah 4 - Menambahkan Properti Hidden
Terakhir, kita akan menambahkan 2 attribute yaitu two_factor_secret
dan two_factor_recovery_codes
ke dalam properti $hidden
di dalam Model User, ini digunakan agar ketika kita melakukan get data user, maka attribute tersebut tidak ikut di tampilkan, karena jika ikut ditampilkan, maka bisa berakibat fatal untuk sisi keamanan.
Silahkan buka file app/Models/User.php
, kemudian cari kode berikut ini :
protected $hidden = [
'password',
'remember_token',
];
Dan ubah menjadi seperti berikut ini :
protected $hidden = [
'password',
'remember_token',
'two_factor_secret',
'two_factor_recovery_codes'
];
Di atas, kita menambahkan 2 attribute tersebut di dalam properti $hidden
.
Langkah 5 - Melakukan Konfigurasi Database
Silahkan teman - teman buka file yang bernama .env
, kemudian ubah kodenya seperti berikut ini
Pastikan teman - teman sudah membuat database terlebih dahulu dengan nama larastart
, setelah berhasil mengubah file .env
selanjutnya silahkan teman - teman buka Terminal/CMD , kemudian jalankan perintah berikut ini
php artisan migrate
Membangun Aplikasi Inventory Dengan Laravel & Tailwind CSS : https://santrikoding.com/ebook/membangun-aplikasi-inventory-dengan-laravel-tailwind-css?ref=8659VS4962