Tutorial Slicing Template Admin Stisla dengan Laravel #2 - Installasi Laravel Fortify


Tutorial Slicing Template Admin Stisla dengan Laravel #2 - Installasi Laravel Fortify

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

Imgur

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


Rafi Taufiqurrahman
Sebaik baiknya manusia adalah yang bermanfaat bagi orang lain.

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami