Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Tutorial Cara Membuat Fitur Authentication di Codeigniter 4

3 min read

Cara Membuat Fitur Authentication di Codeigniter4

Ilmucoding.comTutorial Cara Membuat Fitur Authentication Codeigniter 4. Pada kesempatan kali ini, kami akan sharing tentang cara membuat fitur auth login, register, logout di Codeigniter 4.

Auth Codeigniter 4 cukup penting kita pahami dan praktikkan. Sebab, dalam suatu aplikasi terkadang memerlukan fitur login, register maupun logout. Katakanlah situs komunitas, situs toko online, situs organisasi, e-learning dan masih banyak aplikasi lainnya yang membutuhkan fitur authentication.

Salah satu penyebab banyaknya situs website yang menggunakan auth adalah supaya bisa memberikan hak akses kepada pengguna situs. Selain itu, situs website yang di dalamnya ada auth cenderung lebih aman. Karena ini menyangkut keamanan data website, maka fitur ini sangat penting untuk Anda pelajari dan praktikkan.

Melalui tutorial kali ini, Anda akan mempelajari:

  1. Cara Install Codeigniter 4
  2. Sekilas Package Myth-Auth
  3. Didukung oleh Video Pembelajaran
  4. Source Code Lengkap

Sebelum Anda mempelajari bagaimana membuat authentication di Codeigniter 4, siapkan cemilan dan kopi dahulu …

Kalau sudah, let’s go!

Apa Itu Authentication?

Dikutip dari wikipedia, Authentication adalah tindakan membuktikan pernyataan, seperti identitas pengguna sistem komputer. Berbeda dengan identifikasi, tindakan menunjukkan identitas seseorang atau sesuatu, Authentication adalah proses memverifikasi identitas data pengguna.

Manfaat Menggunakan Authentication

Anda mungkin sering kali melihat kebanyakan situs menggunakan fitur login, register, logout, lupa password dan sejenisnya. Pertanyaannya, mengapa situs tersebut menggunakan fitur ini?

Mungkin inilah manfaatnya:

  1. Data situs website menjadi lebih aman
  2. Terdapat filter yang memungkinkan pengguna dapat mengakses hal tertentu
  3. Memberikan hak penuh kepada pengguna untuk menikmati layanan situs website
  4. Dan masih banyak lagi …

Cara Membuat Fitur Authentication Codeigniter 4

Oke, buat Anda yang sudah penasaran bagaimana membuat fitur authentication Codeigniter 4, berikut step by stepnya:

Step 1: Install Codeigniter 4

Apabila Anda belum memiliki / menginstall Codeigniter 4, silahkan download dan ikuti tutorial kami di bawah ini:

Baca: Cara Install Codeigniter 4

Step 2: Ubah Environment ke Development

Silahkan rename file env menjadi .env kemudian cari kode berikut ini:

# CI_ENVIRONMENT = production

Ubah menjadi:

CI_ENVIRONMENT = development

Bila Anda kesulitan memahami step ini, Anda bisa membaca tutorial lengkapnya melalui link di bawah ini:

Baca: 2 Cara ubah environment dari production jadi development

Step 3: Buat Database Baru

Buat database baru bernama ci4_auth, kemudian buka file .env dan temukan kode di bawah ini:

database.tests.hostname = localhost
database.tests.database = ci4
database.tests.username = root
database.tests.password = root
database.tests.DBDriver = MySQLi

Ubah menjadi:

database.default.hostname = localhost
database.default.database = ci4_auth
database.default.username = root
database.default.password = 
database.default.DBDriver = MySQLi

Jika Anda kesulitan atau penasaran, boleh menyimak tutorial cara mengkoneksikan Codeigniter 4 ke database melalui link di bawah ini:

Baca: Cara Mengkoneksikan Codeigniter 4 dengan Database

Step 4: Install Package Myth-Auth

Package ini sangat kita butuhkan untuk membuat fitur login, register, logout dan memberikan hak akses tertentu dalam suatu aplikasi.

Pertama-tama, masuk dulu ke direktori project melalui terminal.

Kemudian masuk ke dalam direktori ThirdParty dengan command di bawah ini:

cd app/ThirdParty

Jika sudah, kini clone package myth-auth dengan mengetik perintah di bawah ini:

git clone https://github.com/lonnieezell/myth-auth.git

Selesai.

Step 5: Konfigurasi Package

Langkah pertama, silahkan migrate semua table yang sudah disediakan oleh Package Myth-auth.

cd ../..
php spark migrate -all

Langkah kedua, buka file Autoload.php yang terdapat pada direktori app/Config/Autoload.php

Cari kode berikut ini:

$psr4 = [
    'App'         => APPPATH,               
    APP_NAMESPACE => APPPATH,             
    'Config'      => APPPATH . 'Config',
]; 

Ubah menjadi:

$psr4 = [
    'App'         => APPPATH,               
    APP_NAMESPACE => APPPATH,             
    'Config'      => APPPATH . 'Config',
    'Myth\Auth'   => APPPATH .'ThirdParty/myth-auth/src',
];  

Modifikasi di atas bertujuan untuk mendaftarkan package yang ada di dalam folder Thirdparty.

Langkah ketiga, ubah default fromName dan fromEmail di dalam file Email.php pada direktory app/Config/Email.php (Jika Anda tidak mengaktifkan verifikasi kode, maka ini tidak perlu).

public $fromEmail = "ilmucoding.com@gmail.com"; 
public $fromName = "Ilmu Coding"; 

Langkah keempat, buka file bernama Filters.php pada direktori app/Config/Filters.php, kemudian cari kode berikut ini:

public $aliases = [
    'csrf'     => \CodeIgniter\Filters\CSRF::class,
    'toolbar'  => \CodeIgniter\Filters\DebugToolbar::class,
    'honeypot' => \CodeIgniter\Filters\Honeypot::class,
]; 

Modifikasi menjadi:

public $aliases = [
    'csrf'     => \CodeIgniter\Filters\CSRF::class,
    'toolbar'  => \CodeIgniter\Filters\DebugToolbar::class,
    'honeypot' => \CodeIgniter\Filters\Honeypot::class,
    'login'      => \Myth\Auth\Filters\LoginFilter::class,
    'role'       => \Myth\Auth\Filters\RoleFilter::class,
    'permission' => \Myth\Auth\Filters\PermissionFilter::class,
]; 

Langkah kelima, silahkan buka file Routes.php pada direktori app/Config/Routes.php dan cari kode berikut ini:

$routes->get('/', 'Home::index'); 

Modifikasi menjadi:

$routes->get('/', 'Home::index');
$routes->group('', ['filter' => 'login'], function($routes){
    $routes->get('home', 'Home::home');
}); 

Langkah keenam, pada file validation.php di direktori app/Config/Validation.php cari kode berikut ini:

public $ruleSets = [
    \CodeIgniter\Validation\Rules::class,
    \CodeIgniter\Validation\FormatRules::class,
    \CodeIgniter\Validation\FileRules::class,
    \CodeIgniter\Validation\CreditCardRules::class,
]; 

Tambahkan:

public $ruleSets = [
    \CodeIgniter\Validation\Rules::class,
    \CodeIgniter\Validation\FormatRules::class,
    \CodeIgniter\Validation\FileRules::class,
    \CodeIgniter\Validation\CreditCardRules::class,
    \Myth\Auth\Authentication\Passwords\ValidationRules::class,
]; 

Ini optional saja ya.

Langkah ketujuh, buka file Auth.php pada direktori app/ThirdParty/myth-auth/src/Config/Auth.php. Kemudian cari kode berikut:

public $requireActivation = 'Myth\Auth\Authentication\Activators\EmailActivator'; 

Ubah menjadi:

public $requireActivation = false; 

Tujuannya untuk menghilangkan fungsi aktivasi pada saat melakukan register. Karena sedang tahap development, saya pikir ini penting. Jika sudah production, silahkan kembalikan lagi ke kode semula.

Cari lagi baris kode:

 public $allowRemembering = false;

Ubah menjadi:

 public $allowRemembering = true; 

Tujuannya agar remember me bisa tampil di page login.

Step 6: Testing Authentication Codeigniter 4

Silahkan ketik command berikut untuk menjalankan program:

php spark serve

Sekarang Anda bisa menguji coba register, login, logout dan lain-lain.

Video Cara Membuat Fitur Authentication Codeigniter 4

Selain membaca tutorial di artikel ini, Anda juga bisa menonton melalui video youtube di bawah ini:

Jangan lupa like, comment dan subscribe ya …

Download Source Code Authentication Codeigniter 4

Silahkan download source code project authentication Codeigniter 4 ini melalui Github:

Penutup

Demikianlah pembahasan cukup singkat mengenal tutorial membuat authentication di Codeigniter 4. Kami berharap, Anda tidak akan berhenti belajar pada pembahasan ini saja. Sebab, kami sudah menyediakan beberapa tutorial yang bisa Anda pelajari, yaitu:

  1. Multiple Upload Image / File dengan Codeigniter 4
  2. Tutorial Kirim Email dengan Codeigniter 4 dan PHP Mailer

Jika ada pertanyaan semisal error dan kesulitan lain, silahkan beri komentar pada kolom di bawah artikel ini.

Selamat belajar …

Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

7 Replies to “Tutorial Cara Membuat Fitur Authentication di Codeigniter 4”

    1. Coba pada Autoload.php tambahkan:

      'Myth\Auth' => APPPATH .'ThirdParty/myth-auth/src',

      Kalau masih gagal, download source code yang sudah saya berikan di Github.

  1. apakah migrate table harus menggunakan spark ? saya sudah coba install spark via composer, sepertinya spark sudah dead off (info dari forum).

    1. Untuk saat ini masih menggunakan php spark migrate, Mas.

      Spark tidak perlu diintall di composer. Sebab ia diawali sama keyword php.

  2. sebelumnya terima kasih untuk tutorialnya. saya sudah berhasil sampai register dan login user. cuma cara untuk implementasi ke controller mungkin bisa di bahas. agar lebih paham.
    serta setelah di coba. yg disediakan hanya sampai register user. perihal permission tidak di ada dari library nya ya. padahal tabel-tabel nya sudah di siapkan. cuma controller, model, view nya gak ada utk manajemen hal tsb.

  3. Very good excellent, please continue with the tutorial, I thank you for sharing knowledge and in this wonderful way, thank you!

Leave a Reply

Your email address will not be published. Required fields are marked *

Jika terbantu dengan artikel ini, silahkan share, beri komentar dan "klik" 1 kali pada iklan ya.