Selasa, 06 September 2016

Proses Verifikasi Email Saat Mendaftar Dengan Laravel

Pada sebuah aplikasi dimana ada form pendaftaran untuk memperoleh pengguna baru untuk didaftarkan pada sebuah website adakalanya kita harus memverifikasi alamat email mereka. verifikasi email adalah metode umum dalam sebuah proses pendaftaran dibeberapa situs, verifikasi email ini diperlukan agar mendapatkan pengguna yang benar-benar memiliki email yang didaftarkannya dan dengan memverifikasi email pengguna maka aplikasi dapat terhindar dari pengguna palsu. Dalam catatan kali ini akan di tunjukan sebuah proses verifikasi email saat pendaftaran pengguna baru dengan menggunakan Laravel.
Adapun caranya adalah sebagai berikut. Pada file migration user tambahkan field seperti ini.
$table->boolean('confirmed')->default(0);
$table->string('confirmation_code')->nullable();
Gambar 12.9
Kemudian ketik pada shell untuk membuat authentication dari laravel dengan perintah sederhana yaitu.
php artisan make:auth
Dan pada router yag tadinya hanya Route::auth(); dihapus dan ubah menjadi seperti ini.
Jangan lupa untuk mengkonfigurasi database kemudian ekstrak database dengan menjalankan.
php artisan migrate
Lalu buat sebuah controller yaitu RegistrationController
php artisan make:controller RegistrationController
Dan isikan fungsi postRegister kedalamnya seperti kode berikut ini.
Lalu buat sebuah file blade pada resources/views/email/verify.blade.php sebagai content untuk pengiriman email dan masukan kode seperti ini.
Kemudian pada route tambahkan route berikut ini sebagai link konfirmasi.
Route::get('register/verify/{confirmationCode}', 'RegistrationController@confirm')
lalu tambahkan fungsi confirm pada RegistrationController seperti kode berikut ini.
Jangan lupa untuk menggunakan class berikut ini pada RegistrationController.
use Input, Validator, Redirect, Session;
use App\User;
use Hash, Mail;
Kemudian buat sebuah LoginController untuk penanganan login agar yang belum memverifikasi email tidak dapat login.
php artisan make:controller LoginController
Dan masukan sebuah fungsi postLogin seperti kode berikut ini.

Kemudian tambahkan class berikut pada LoginController tersebut.
use Session, Input, Validator, Redirect;
use Auth;
Tambahkan template alert pada login.blade.php dan juga pada register.blade.php
@if (Session::has('message'))
{{ Session::get('message') }}
@endif

3 komentar:

  1. Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required
    "

    itu kenapa gan ? ketika register jadi keluar seperti itu

    BalasHapus
    Balasan
    1. gan masalah says sama seperti anda. cara pennyelesaiannya gimana ya gan?

      Hapus
  2. gan, masalah yang td sudah beres, skrng ketika verif link nya tidak terdaftar, mohon bantuanya

    BalasHapus