Autentikasi Dengan Laravel 5

Autentikasi dengan laravel 5 lebih praktis jika dibandingkan dengan laravel 4. Semua yang kita butuhkan untuk login autentikasi sudah dikonfigurasi. Di laravel 5 secara default kita akan mendapatkan form dasar seperti register, login, dan password reset. Sehingga kita tidak perlu menghabiskan banyak waktu untuk melakukan konfigurasi dan menulis kode.

Setelah melakukan instalasi laravel 5 Anda akan mendapatkan autentikasi file seperti berikut:

  1. database/migrations
  2. config/auth.php
  3. app/User.php
  4. app/Http/Controllers
  5. resources/views/auth
  6. app/Services/Registrar.php
  7. app/Http/routes.php

File-file diataslah yang akan membuat Anda mudah untuk konfigurasi user login, register, password reset di laravel 5. Anda bisa bebas untuk menyesuaikan secara manual user login autentikasi dan proses registrasi. Untuk menyesuaikan user register menggunakan proses dalam file app/Services/Registrar.php, jika mau Anda bisa merubah proses sesuai dengan kebutuhan Anda. Untuk merubah tampilannya bisa melalui resources/views/auth dan membuat tampilan login, register dll sesuai dengan yang Anda inginkan.

Untuk melakukan konfigurasi autentikasi kita memerlukan beberapa proses seperti berikut:

  • Konfigurasi database
  • Buat table pada database menggunakan migrations
  • Cek proses user register dan user login

Konfigurasi database
Masuk ke direktori file di config/database.php. Konfigurasi database host, user, password sesuai dengan database yang Anda gunakan. Berikut contohnya.

'mysql'=>[
	'driver'    => 'mysql',
	'host'      => env('DB_HOST', 'localhost'),
	'database'  => env('DB_DATABASE', 'laravel_au'),
	'username'  => env('DB_USERNAME', 'root'),
	'password'  => env('DB_PASSWORD', 'root'),
	'charset'   => 'utf8',
	'collation' => 'utf8_unicode_ci',
	'prefix'    => '',
	'strict'    => false,
],

Buat table pada database menggunakan migrations
Sekarang kita perlu membuat tabel users dan password resets untuk proses autentikasi default. Kita akan membuat tabel database menggunakan migrations.

Migrations merupakan cara untuk memodifikasi skema database dan tetap up to date pada keadaan skema saat ini. Pada dasarnya migrations adalah cara kita untuk dapat memanipulasi database menggunakan kode. Kita tidak perlu menggunakan phpmyadmin untuk memanipulasi database, sehingga kita langsung dapat memanipulasi database menggunakan kode. Untuk membuat migrations, kita perlu menggunakan perintah pada Artisan CLI. Untuk mengetahui lebih banyak tentang migrations Anda dapat membacanya di dokumentasi resmi laravel 5 disini Official docs migrations.

Sekarang kita akan memulainya dengan membuat tabel users. Masuk ke root folder aplikasi Anda di direktori app dan jalankan perintah di bawah ini.

Ada dua cara untuk membuat tabel.

1. Menggunakan Inbuilt Migrations

Catatan: jika Anda sudah mempunyai dua file di direktori database/migrations seperti contoh berikut.
2014_10_12_000000_create_users_table.php
2014_10_12_100000_create_password_resets_table.php
Maka Anda sudah siap untuk membuat dua tabel dan cukup menjalankan perintah migration berikut pada command prompt (cmd).

php artisan migrate

2. Membuat tabel dengan migration baru
Untuk cara yang satu ini kita perlu membuat tabel menggunakan migrations dan CLI.
Buat tabel users (jalankan perintah berikut pada command prompt (cmd))

php artisan make:migration create_users_table --create=users

Buat tabel password resets

php artisan make:migration create_password_resets_table --create=password_resets

Perintah diatas akan menciptakan file baru di database/migrations/date+create_users_table.php dan database/migrations/date+create_password_reset_table.php.

date+create_users_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration {
/**
 * Run the migrations.
 *
 * @return void
 */
  public function up() {
	Schema::create('users', function(Blueprint $table)
	{
		$table->increments('id');
		$table->timestamps();
	});
  }

/**
 * Reverse the migrations.
 *
 * @return void
 */
  public function down() {
	Schema::drop('users');
  }
}

date+create_password_reset_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreatePasswordResetsTable extends Migration {

/**
 * Run the migrations.
 *
 * @return void
 */
  public function up() {
	Schema::create('password_resets', function(Blueprint $table)
	{
		$table->increments('id');
		$table->timestamps();
	});
  }

/**
 * Reverse the migrations.
 *
 * @return void
 */
  public function down() {
	Schema::drop('password_resets');
  }
}

Kita perlu menambahkan beberapa field untuk tabel menggunakan Schema Builder, tambahkan kode hingga menjadi seperti berikut.

date+create_users_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration {

	/**
	 * Run the migrations.
	 *
	 * @return void
	 */
	public function up()
	{
		Schema::create('users', function(Blueprint $table)
		{
			$table->increments('id');
			$table->string('name');
			$table->string('email')->unique();
			$table->string('password', 60);
			$table->rememberToken();
			$table->timestamps();
		});
	}

	/**
	 * Reverse the migrations.
	 *
	 * @return void
	 */
	public function down()
	{
		Schema::drop('users');
	}

}

date+create_password_reset_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreatePasswordResetsTable extends Migration {

	/**
	 * Run the migrations.
	 *
	 * @return void
	 */
	public function up()
	{
		Schema::create('password_resets', function(Blueprint $table)
		{
			$table->string('email')->index();
			$table->string('token')->index();
			$table->timestamp('created_at');
		});
	}

	/**
	 * Reverse the migrations.
	 *
	 * @return void
	 */
	public function down()
	{
		Schema::drop('password_resets');
	}

}

Kemudian file migration akan membuat tabel dengan field tertentu, untuk itu kita perlu menjalankan file menggunakan command prompt (cmd) dengan perintah berikut:

php artisan migrate

Sekarang konfigurasi database dan tabel sudah siap, kita perlu mendaftarkan user.

Cek proses user register dan user login
Untuk mendaftarkan user kita hanya perlu menjalankan url seperti berikut dan isi form.
http://localhost/laravel-5/public/auth/register
http://localhost/laravel-5/public/home

Sekarang kita telah selesai melakukan autentikasi dengan laravel 5, untuk mempelajari lebih banyak tentang fungsi autentikasi pada laravel 5 Anda bisa langsung ke dokumentasi resmi laravel 5 disini Laravel authentication docs. Semoga bermanfaat.

You may also like...

3 Responses

  1. udin says:

    Makasih Tutorialnya mas, ane jg baru belajar laravel 5.1. Tadinya dari tutorial di id-laravel.com bisa bikin auth tanpa harus koding, ternyata gak bisa karena scaffoldnya dihapus, kira2 kenapa ya ?

    • admin says:

      Makasih sudah mampir mas..
      Kita belum pernah coba laravel 5.1 mas, ini baru di laravel 5.0.. 🙂
      Tapi kalau misalkan di laravel 5.1 scaffoldnya benar2 dihapus, ya berarti kita diminta bikin sendiri scaffoldingnya mas..

  2. Made says:

    Mantap mas, saya juga sudah coba pake Laravel 5.2.* semakin mudah hanya 2 langkah migrasi dan make:auth
    selesai.
    mohon ijin kalo bernkenan bisa dibaca disini
    http://arsipti.com/artikel/2016/07/membuat-authentikasi-user-pada-laravel-5

Leave a Reply

Your email address will not be published. Required fields are marked *