Rabu, 04 April 2018

Autentikasi Default Laravel 5.1

Semalat pagi rekan-rekan semua, pagi ini kita akan membahas tentang Autentikasi Default Laravel 5.1

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 Controller untuk autentikasi masih tersedia di  app/Http/Controller/Auth/AuthController.php
, tetapi 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 php artisan migrate
 untuk menciptakan tabel-tabel yang dibutuhkan dalam proses autentikasi.

Login

Buka file app/Http/routes.php
 dan tambahkan 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 routes.php
, tambahkan routes untuk melaksanakan pendaftaran ibarat dibawah ini:






Selanjutnya tambahkan file resources/views/auth/register.blade.php
:



Halaman pendaftaran tersebut dapat diakses di auth/register
, tampilannya ibarat ini:






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

Seperti biasa, setiap penambahan halaman selalu dimulai dengan penambahan routes:



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/









Sumber http://beritatecnologi.blogspot.com


EmoticonEmoticon