Preambul
Jika Anda mengikuti perkembangan Laravel semenjak versi 5 keatas, maka fitur autentikasi sempat dimunculkan secara default. Kita dapat eksklusif memakainya tanpa perlu koding sedikitpun.
Tapi sesudah Laravel 5.1 rilis, ternyata fitur ini dihilangkan, atau lebih tepatnya setengah hilang. File migrasi dan
, tetapi Controller
untuk autentikasi masih tersedia di
app/Http/Controller/Auth/AuthController.php
route dan
view sudah tidak ada. Pada kesempatan kali ini kita akan mencoba “membangkitkan kembali” fitur autentikasi yang hilang tersebut. Migration
Setelah meng-install Laravel dan melaksanakan konfigurasi database, jalankan perintah
untuk menciptakan tabel-tabel yang dibutuhkan dalam proses autentikasi.
php artisan migrate Login
Buka file
dan tambahkan
app/Http/routes.php
routes untuk melaksanakan login dan logout: Lalu tambahkan view untuk melaksanakan login di
:
resources/views/auth/login.blade.php Halaman login dapat diakses di auth/login dan karenanya ibarat dibawah ini.
Silakan dicoba-coba. Pastinya Anda belum dapat login alasannya belum mendaftar. Makara langkah selanjutnya yakni menciptakan form registrasi.
Registrasi
Buka kembali file
, tambahkan
routes.php
routes untuk melaksanakan pendaftaran ibarat dibawah ini: Selanjutnya tambahkan file
:
resources/views/auth/register.blade.php Halaman pendaftaran tersebut dapat diakses di
, tampilannya ibarat ini:
auth/register Silakan mencoba melaksanakan pendaftaran dengan mengisi data yang benar.
Lupa Password
Fitur selanjutnya yakni “lupa password” dimana user yang lupa dengan passwordnya sendiri, dapat meminta aplikasi untuk mengirimkan link untuk reset password ke emailnya. Tentu saja dengan catatan, user tersebut tidak lupa alamat emailnya :D
Tambahkan juga file
:resources/views/auth/password.blade.php
Kita juga perlu menambahkan view untuk tampilan emailnya di
resoruces/views/emails/password.blade.php:
Isikan alamat email yang Anda gunakan dikala registrasi. Jika benar, maka aplikasi akan mengirimkan link untuk reset password ke alamat email tersebut.
Karena fitur ini memerlukan pengiriman email, maka Anda harus melaksanakan konfigurasi email terlebih dahulu. Di aplikasi yang sesungguhnya, Anda akan memiliki sebuat mail server tersendiri atau memanfaatkan layanan pengirim email ibarat mandrill, mailgun, ses, dan lain sebagainya.
Jika Anda perhatikan file
config/mail.php
di bab driver, disitu ada beberapa mail driver yang sudah didukung secara default oleh Laravel. Untuk keperluan testing, kita dapat menggunakan driver yang disebutkan terakhir, yaitu log
. Buka file
.env di folder instalasi Laravel, kemudian ubah bab MAIL_DRIVER=mailtrap
menjadi MAIL_DRIVER=log
. Dengan menggunakan driver log
, maka semua email yang dikirim oleh aplikasi tidak benar-benar dikirim ke alamat tujuan, melainkan hanya ditulis di file storage/logs/laravel.log
.
Silakan diisi form reset passwordnya, kemudian perhatikan isi file
laravel.log
: Meskipun kurang yummy dibaca, paling tidak kita sudah dapat mendapat link untuk reset password. Link ini akan dipakai pada proses selanjutnya.
Reset Password
Nah, kita sudah hingga pada bab terakhir autentikasi, yaitu reset password. Tambahkan
routes
berikut ini: Lalu tambahkan juga file
resources/views/auth/reset.blade.php
: Selanjutnya buka link reset password di browser:
Selamat , Anda sudah berhasil membangkitkan kembali fitur autentikasi yang hilang di Laravel 5.1.
Catatan
Tolong jangan komplain jikalau form autentikasi yang dihasilkan jelek, alasannya memang tidak ada CSS-nya. Silakan dipercantik sendiri. Bisa pakai bootstrap, foundation, uikit, semantic-ui dan belasan css framework diluar sana.
Sumber :
http://id-laravel.com/post/autentikasi-default-laravel-5-1/
EmoticonEmoticon