Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial Laravel #27: Reset Password Laravel

 

 

Selain login dan register, fitur reset password adalah bagian vital dari setiap sistem otentikasi. Fitur ini memungkinkan pengguna untuk mendapatkan kembali akses ke akun mereka jika mereka lupa kata sandinya. Proses ini melibatkan pengiriman email, pembuatan token unik, dan validasi data.

Untungnya, Laravel telah mengintegrasikan semua logika ini secara default melalui paket seperti Laravel Breeze, yang kita gunakan di tutorial sebelumnya. Jika kamu sudah mengikuti tutorial #26, sebagian besar pekerjaan sudah selesai. Pada tutorial ini, kita akan belajar cara menggunakan dan menguji fitur reset password yang sudah ada.


 

1. Memahami Alur Kerja Reset Password

 

Secara teknis, fitur reset password di Laravel bekerja melalui alur yang terstruktur dan aman:

  1. Permintaan: Pengguna mengklik “Lupa Kata Sandi?” dan memasukkan alamat email mereka.
  2. Pembuatan Token: Laravel mencari akun dengan alamat email tersebut. Jika ditemukan, ia akan membuat token unik dan menyimpannya di tabel password_reset_tokens di database.
  3. Pengiriman Email: Sebuah email dikirim ke alamat pengguna yang berisi tautan khusus dengan token tersebut.
  4. Validasi & Reset: Ketika pengguna mengklik tautan, mereka akan dibawa ke halaman untuk memasukkan kata sandi baru. Laravel memvalidasi token dari URL dengan yang ada di database. Jika cocok, kata sandi diupdate, dan token dihapus.
  5. Selesai: Pengguna berhasil masuk dengan kata sandi baru mereka.

 

2. Persiapan Awal: Konfigurasi Email

 

Fitur reset password membutuhkan kemampuan aplikasi untuk mengirim email. Untuk tujuan pengembangan dan pengujian, cara terbaik adalah menggunakan Mailtrap atau sejenisnya, yang berfungsi sebagai server SMTP palsu yang menangkap semua email yang dikirim.

  1. Daftar akun gratis di Mailtrap.
  2. Di dashboard Mailtrap, temukan kredensial SMTP Settings (host, port, username, password).
  3. Buka file .env di root folder proyek Laravel kamu. Ubah konfigurasi MAIL_ sesuai dengan kredensial dari Mailtrap.
    Bash

    MAIL_MAILER=smtp
    MAIL_HOST=smtp.mailtrap.io
    MAIL_PORT=2525
    MAIL_USERNAME=your_mailtrap_username
    MAIL_PASSWORD=your_mailtrap_password
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=hello@example.com
    MAIL_FROM_NAME="${APP_NAME}"
    

    Ganti your_mailtrap_username dan your_mailtrap_password dengan kredensial milikmu.

  4. Pastikan tabel password_reset_tokens sudah ada di database kamu. Tabel ini dibuat secara otomatis oleh perintah php artisan migrate saat menginstal Breeze.

 

3. Menggunakan Fitur Reset Password

 

Jika kamu sudah menginstal Laravel Breeze, semua views (tampilan) dan routes (rute) untuk reset password sudah tersedia.

  1. Akses Halaman Login: Buka browser dan kunjungi halaman login di http://127.0.0.1:8000/login.
  2. Klik Lupa Kata Sandi: Di bawah form login, kamu akan menemukan tautan “Forgot your password?“. Klik tautan tersebut.
  3. Masukkan Email: Kamu akan diarahkan ke halaman /forgot-password. Masukkan alamat email yang sudah terdaftar di aplikasi (misalnya, email yang kamu gunakan saat mendaftar di tutorial #26) dan klik tombol “Email Password Reset Link”.
  4. Cek Email di Mailtrap: Buka akun Mailtrap kamu. Kamu seharusnya akan melihat email baru yang masuk dari aplikasi Laravel kamu. Buka email tersebut dan klik tautan “Reset Password”.
  5. Atur Kata Sandi Baru: Tautan tersebut akan mengarahkanmu ke halaman /reset-password. Di sana, kamu bisa memasukkan kata sandi baru. Setelah mengisi dan mengkonfirmasi kata sandi, klik tombol “Reset Password”.

Jika berhasil, kamu akan dialihkan kembali ke halaman login. Kamu sekarang bisa login dengan kata sandi yang baru saja kamu buat.


 

4. Kustomisasi (Opsional)

 

Seluruh proses reset password yang disediakan oleh Laravel sangat bisa diubah sesuai kebutuhanmu.

  • Tampilan: Kamu bisa mengedit tampilan halaman-halaman reset password di direktori resources/views/auth/.
  • Logika: Untuk mengkustomisasi logika pengiriman email, validasi token, atau proses reset, kamu bisa memodifikasi atau memperluas controller yang relevan di app/Http/Controllers/Auth/.

Dengan memahami alur kerja dan konfigurasi yang sudah kita bahas, kamu bisa yakin bahwa fitur reset password di aplikasi Laravel kamu berjalan dengan aman dan efisien.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_q0o3sbq0o3sbq0o3
Gemini_Generated_Image_mem6cgmem6cgmem6
Gemini_Generated_Image_ust09gust09gust0
Gemini_Generated_Image_d8a5kwd8a5kwd8a5

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek