Pada artikel sebelumnya, aku telah membahas mengenai cara menggunakan AdminLTE di Laravel yang di situ terdapat fitur untuk membuat autentikasi user. Namun sayangnya, ada satu fitur yang belum berjalan dengan sempurna yaitu fitur untuk reset password. Masalh yang kuhadapi saat ini adalah sebagai berikut:
- Tabel untuk reset password belum tersedia
- Konfigurasi email untuk mengirim konfirmasi reset password belum tepat
Membuat Tabel Untuk Reset Password
Langkah untuk membuat tabel reset password adalah sebagai berikut:
- Buat sebuah file migrasi menggunakan command di bawah ini
php artisan make:migration create_password_resets_table
- ganti kode di dalam fungsi public function up() menjadi di bawah ini:
Schema::create('password_resets', function (Blueprint $table) { $table->string('email')->index(); $table->string('token')->index(); $table->timestamp('created_at'); });
- jalankan command di bawah ini untuk membuat tabel sesuai yang telah kita definisikan pada langkah nomor 2
php artisan migrate
Konfigurasi Layanan Pengiriman Email
Pada kesempatan kali ini, aku menggunakan layanan Mailgun. Setelah konfigurasi domain selesai dilakukan di Mailgun maka langkah selanjutnya adalah menambahkan konfigurasi smpt Mailgun ke file .env yang berada di root project Laravel.
Kode yang perlu ditambahkan/pengganti konfigurasi email adalah seperti di bawah ini:
MAIL_DRIVER=smtp MAIL_HOST=smtp.mailgun.org MAIL_PORT=587 MAIL_USERNAME=USERNAME_POSTMASTER MAIL_PASSWORD=PASSWORD_POSTMASTER MAIL_FROM_NAME="Nama Pengirim" [email protected] [email protected] MAILGUN_SCREET=API_KEY_MAAILGUN
Menguji Reset Password
Setelah tabel reset password dan konfigurasi SMPT mailgun berhasil dilakukan maka langkah selanjutnya adalah menguji apakah yang dilakukan tersebut sudah benar atau tidak. langkah untuk menguji adalah sebagai berikut.
- klik menu lupa password di halaman login atau arahkan browser ke http://localhost/password/reset atau domain.com/password/reset
- Masukkan email yang sudah terdaftar di dalam sistem
- Klik tombol kirim link reset password
- Jika kamu menerima email yang berisi link konfirmasi reset password coba diklik. Jika diarahkan ke halaman pembuatan password baru maka konfigurasi yang dilakukan diatas sudah benar.
Semoga bermanfaat.