Thursday, May 11, 2017

Default Authentification Laravel 5.4

Leave a Comment
Umumnya pada setiap pekerjaan atau proyek aplikasi web akan membutuhkan authentifikasi pengguna / sistem login sebelum dapat mengakses fitur aplikasi selain untuk alasan keamanan juga. Tutorial kali ini saya akan membahas bagaimana cara mengaktifkan modul authentifikasi default laravel, cukup dengan beberapa perintah, laravel sudah menyediakan mulai dari login akun pengguna, pendaftaran akun pengguna, sampai dengan fitur untuk mereset password jika lupa dan mengirim email untuk mendapatkan token untuk reset password. Kita akan melanjutkan project social yang sebelumnya sudah kita buat, untuk cara instalasi dan membuat project laravel bisa lihat di postingan saya sebelumnya hello laravel.

Konfigurasi Database

Langkah pertama adalah membuat database baru, laravel mendukung beberapa database diantaranya SQLite, MySQL, PostgreSQL dan SQL Server. Untuk tutorial ini saya menggunakan database MySQL. Buat database baru di PhpMyAdmin atau console, nama database terserah, saya membuatnya dengan nama social_db
membuat database baru di mysql
Membuat Database Baru di MySQL
Setelah database dibuat, langkah selanjutnya adalah konfigurasi database di laravel. Buka project social di IDE kesayangan anda. Buka file .env di root project, sesuaikan konfigurasi database anda.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=social_db
DB_USERNAME=adit
DB_PASSWORD=adit
Untuk dapat melihat konfigurasi database secara lengkap ada di file config/database.php

Migration

Secara default, laravel menyediakan 2 file schema database dapat di lihat di direktori/folder database/migrations, schema database gampangnya adalah blueprint dari pembuatan table pada database. Migration pada laravel adalah proses mengubah / migrasi dari schema menjadi tabel-tabel database. Kita akan migrasikan 2 schema : create_users_table dan create_password_resets_table.
  • Buka terminal / command prompt dan ubah ke direktori atau folder root project social
  • Jalankan perintah : php artisan migrate
Migrasi Schema ke Database
  • Lihat hasil migrate, pastikan semua migrasi berjalan sukses, jika sukses periksa database social_db, tabel-tabel dari proses migrasi berhasil dibuat.
Table berhasil di buat
  • Jika muncul error "Specified key was too long; max key length is 767 bytes", berarti versi MySQL anda di bawah 5.7, laravel versi 5.4 mengubah default collationnya menjadi utf8mb4, karena di versi ini support untuk emoji which is membutuhkan karakter string lebih banyak. Cara mengatasinya, buka file AppServiceProvider.php yang terletak pada direktori app/Providers, kemudian modifikasi seperti berikut :
    <?php
    ...
    use Illuminate\Support\Facades\Schema;
    ...
    public function boot(){
        Schema::defaultStringLength(191);
    }
    

Generate Auth Scaffolding

Setelah tabel-tabel database selesai dibuat, kita akan mengenerate auth scaffolding bawaan laravel, laravel akan mengenerate Controller, Route, Model, dan View secara otomatis. 
  • Buka terminal / command prompt dan ubah ke direktori atau folder root project social
  • Jalankan perintah : php artisan make:auth
Generate Auth Scaffolding
  • Jika berhasil, aplikasi bisa langsung di test.

Testing

  • Buka terminal / command prompt dan ubah ke direktori atau folder root project social
  • Jalankan perintah : php artisan serve untuk menjalankan server lokal pada port 8000
  • Buka browser ketikkan alamat http://localhost:8000 atau http://127.0.0.1:8000.

Screenshots

Landing Page

Login

Homepage setelah login
Register


Download source code

  • Source code artikel ini dapat di download di github.

0 comments:

Post a Comment