Solusi Autentikasi yang Simple dan Efisien Menggunakan Laravel Breeze


Laravel Breeze adalah sebuah package yang dikembangkan oleh Taylor Otwell, pencipta Laravel, untuk menyediakan autentikasi yang sederhana dan ringan untuk aplikasi Laravel. Package ini menyediakan beberapa fitur penting antara lain: login, register, verifikasi pengguna, lupa password, dan reset password. Penggunaan Laravel Breeze juga tidak sulit. Bagi para pemula yang baru saja mulai mempelajari laravel pasti bisa menggunakannya. Ketika menggunakan Laravel Breeze nantinya akan dibuatkan model, view, controller, migrasi, maupun route. Dalam pembuatan view, laravel menggunakan Tailwind CSS sebagai stylenya. Laravel Breeze juga didukung oleh Blade, Livewire, Vue, dan React. Saat instalasi pengguna bisa memilih sesuai kebutuhan yang diinginkan.

Cara Instalasi Laravel Breeze

Dokumentasi Laravel Breeze dapat diakses langsung di website resmi Laravel karena package ini adalah package resmi dari Laravel itu sendiri. Sebelum melakukan instalasi Laravel Breeze siapkan terlebih dahulu project Laravel. Setelah itu kita siap untuk memulai instalasinya.

  1. Jalankan perintah composer require laravel/breeze –dev di terminal.
  2. Jalankan perintah php artisan breeze:install

Perintah ini mempublikasikan view autentikasi, route, controller, dan mirgrasinya ke aplikasi Laravel. Laravel Breeze menerbitkan semua kodenya ke aplikasi Laravel sehingga mudah untuk mengontrol fitur dan implementasinya.

  1. Setelah selesai, jalankan secara berturut-turut perintah:
  • php artisan migrate
  • npm install
  • npm run dev

Perintah diatas berfungsi untuk melakukan migrasi table yang dibuatkan oleh Laravel Breeze. Selanjutnya menginstall package lain via npm lalu menjalankannya untuk kepentingan auto-reload pada tampilan autentikasi.

  1. Setelah itu arahkan route ke /login atau /register. Maka tampilan autentikasi sudah berhasil dibuat. Terlebih dahulu lakukan register selanjutnya lakukan login untuk masuk ke halaman dashboard.

Ketika Laravel Breeze berhasil diinstall, terdapat beberapa folder dan file baru yang dibuatkan oleh Laravel Breeze. Beberapa folder dan file baru tersebut adalah folder Auth pada app > Http > controllers. Isi dari folder Auth ini adalah controller yang berfungsi untuk mengatur proses autentikasi. Selain itu juga terdapat folder auth pada resource > views. Isi dari folder ini adalah beberapa file view yang akan ditampilkan pada rute autentikasi seperti login dan register. Dengan adanya beberapa file ini, pengguna bisa melakukan kustom atau mengatur sesuai kebutuhan bagaimana proses autentikasi berjalan. Pengguna bisa menggunakan pengaturan bawaan dari Laravel Breeze atau menggunakan pengaturan yang kustom sesuai dengan kebutuhan.

Hingga tahap ini fitur autentikasi yang dapat digunakan adalah login dan register saja. Fitur verifikasi pengguna, lupa password, dan reset password masih memerlukan konfigurasi lanjutan. Ketiga fitur ini memerlukan konfigurasi layanan mail agar dapat berjalan dengan baik.

Cara Konfigurasi Layanan Mail

Salah satu layanan mail yang bisa digunakan untuk mendukung fitur verifikasi pengguna, lupa password, dan reset password adalah layanan mailtrap. 

  1. Lakukan registrasi lebih dahulu di mailtrap.io lalu setelah itu login.
  2. Pilih menu Email testing pada sidebar.
  3. Klik add project lalu isi project name. (misal. email-verify) dan klik add.
  4. Setelah itu akan muncul project baru. klik add inbox, isi inbox name (misal. email) lalu klik save.
  5. Klik inbox yang baru saja dibuat (email).
  6. Pilih laravel 9+ pada dropdown Integrations.
  7. Copy semua konfigurasi yang disediakan mulai dari MAIL_MAILER hingga MAIL_PASSWORD.
  8. Buka file .env pada aplikasi laravel. Cari konfigurasi yang sama dengan yang ada di mailtrap lalu timpa isi dari konfigurasi tersebut.

Fitur Verifikasi User

Setelah melakukan konfigurasi mail dengan mailtrap maka fitur verifikasi user bisa berjalan dengan baik. Berikut langkah-langkahnya:

  1. Buka User Model. Lalu tambahkan “Implements MustVerifyEmail” pada class User (class User extends Authenticatable implements MustVerifyEmail). Tambahkan juga “use Illuminate\Contracts\Auth\MustVerifyEmail;”.
  2. Setelah itu coba lakukan registrasi lagi. Jika berhasil pengguna akan diminta untuk melakukan verifikasi melalui email yang telah dikirim.
  1. Buka kembali mailtrap maka akan ada email baru.
  1. Lakukan verifikasi dengan klik tombol verifikasi di email.
  2. Setelah itu maka akan diarahkan ke halaman dashboard.

Fitur Lupa dan Reset Password

Fitur lupa dan reset password dapat diakses dengan langkah-langkah:

  1. Masukkan email yang terdaftar. klik email password reset link
  1. Cek email pada mailtrap.
  2. Klik tombol reset password.
  1. Perbarui password di halaman reset password
  1. Login dengan password baru.

Sumber:

https://github.com/laravel/breeze
https://laravel.com/docs/10.x/starter-kits#laravel-breeze
https://mailtrap.io/

Ditulis oleh Backend Developer Intern at Digital Amoeba MSIB Batch 6
Afif Rohul Abrori – Universitas Jember (linkedin.com/in/afifrohul)