Langsung ke konten utama

Membuat Authentication di Lumen

Membuat Authentication di Lumen 

Tutorial kali ini akan membahas Authentication di Lumen.

Pernah kah kalian berpikir pada aplikasi android terdapat fitur login dan register itu bagaimana proses kerja dan konsep nya ?

 

Jika kita menggunakan aplikasi website pada umum nya mudah saja, dengan menyimpan data session dapat digunakan sebagai authentication. Namun berbeda dengan ketika di android.

 

Mari kita bahas…

 

Sebelumnya kita sudah berhasil membuat REST API dengan fitur Create, Read, Update dan Delete menggunakan Database MySQL. Tutorial tersebut sangat erat kaitan nya dengan membuat authentication.

 

Oke kita mulai, untuk membuat authencation menggunakan API juga. Sebagai contoh pada proses login, dimana proses login harus ada field yang di cocokkan ke dalam tabel database biasanya berupa email dan password.

 

Dan jika pemeriksaan terhadap data yang tersedia sudah cocok maka ada 2 mekanisme nilai balik, namun nilai balik nya tetap satu jenis yaitu token. 2 Mekanisme nilai balik yang berupa token dapat di simpan dan di ambil di database maupun dengan JWT. Namun pada tutorial kali ini saya akan menyimpan data token ke dalam database MySQL.

Membuat Projek Baru

Seperti pada yang cara jelaskan pada tutorial Tutorial Lumen #1 : Pengenalan dan Cara Install Lumen. Berikut ini cara instal projek baru Lumen.

 

composer create-project --prefer-dist laravel/lumen auth

Dan silahkan tunggu sampai proses instalasi lumen selesai.

 

Jika sudah, silahkan buat database baru dan lakukan konfigurasi di file .env

 

Oh iya untuk menggunakan Authentication di lumen harus mendaftarkan / mengaktifkan beberapa fitur di app/boostrap.php

 

Apa saja yang di tambahkan ?

 

Hidupkan kode berikut :

 

$app->register(App\Providers\AppServiceProvider::class);

$app->register(App\Providers\AuthServiceProvider::class);

Biasanya di line 79 dan 80.

 

Selain itu harus menghidupkan fitur elequent dan facedes, terletak di line 24 dan 26. Berikut ini kode yang harus di hidupkan :

 

 

$app->withFacades();

 

$app->withEloquent();

Membuat Migration

Yang kita perlukan yaitu tabel users. Maka kita akan membuat skema tabel users. Silahkan ketikkan perintah berikut ini command line :

 

php artisan make:migration _table_user_ --create=users

Selanjutnya silahkan periksa di folder database/migrations, pasti akan terbuat file PHP baru dengan terdapat kata users, misalnya 2019_10_04_172015__table_user_.php.

 

Lalu ubah kode nya menjadi seperti di bawah ini :

 

<?php

 

use Illuminate\Database\Migrations\Migration;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Support\Facades\Schema;

 

class TableUser extends Migration

{

    /**

     * Run the migrations.

     *

     * @return void

     */

    public function up()

    {

        Schema::create('users', function (Blueprint $table) {

            $table->bigIncrements('id');

            $table->string("email")->unique();

            $table->string("password");

            $table->string("token")->nullable();

            $table->timestamps();

        });

    }

 

    /**

     * Reverse the migrations.

     *

     * @return void

     */

    public function down()

    {

        Schema::dropIfExists('users');

    }

}

Lalu ketikkan perintah :

 

php artisan migrat

Komentar

Postingan populer dari blog ini

Apa itu interopabilitas

Interoperabilitas Adalah : Karakteristik, Kelebihan dan Kekurangannya Interoperabilitas adalah dimana suatu aplikasi bisa berinteraksi dengan aplikasi lainnya melalui suatu protokol yang disetujui bersama lewat bermacam-macam jalur komunikasi, biasanya lewat network TCP/IP dan protokol HTTP dengan memanfaatkan file XML. Aplikasi dapat ditempatkan pada platform yang berbeda: Delphi Win32, NET, Java atau bahkan pada sistem operasi yang berbeda. Kata “interoperabilitas” terdiri dari 3 kata, yaitu: “inter” yg artinya antar (beberapa hal), “operate” yg artinya bekerja, dan “ability” yg artinya kemampuan/kebisaan. Ketika digabungkan menjadi “interoperabilitas”, ini secara kasar berarti “kemampuan untuk bekerja di antara banyak hal” atau terjemahan gratis tentang “kemampuan untuk bekerja bersama di antara banyak hal”. Interoperabilitas merupakan kemampuan berbagai ragam sistem untuk bekerja sama dan kemampuan sebuah sistem untuk bekerja atau digunakan oleh sistem lain (Merriam Webster). Inter...

MEMBUAT VALIDATION & ERROR HANDLING

    VALIDATION & ERROR HANDLING Kita akan membuat service menggunakan  PHP   Lumen  yang bisa melakukan  handling Validation dan Negative Case .  Tujuan praktek ini adalah untuk : 1. Mampu implementasi validation menggunakan Lumen 2. Mampu melakukan Negative Case handling menggunakan Lumen 3. Mampu memberikan informasi yang baik dan relevan ketika mengalami error validasi dan error negative case Endpoint Saat ini kita sudah mengimplementasikan endpoint yang akan kita gunakan, yakni seperti ini: Beautify Response Pada Fungsi Read All Implementasi fungsi ini adalah fungsi index di  PostsController.php  :   1. Saat ini kalau kita memanggil endpoint  http://localhost:8000/posts , maka tampilan   response nya akan menjadi seperti ini : 2. Kalau melihat dari response nya ada beberapa data yang tidak kita perlukan, seperti: first_page_url, from, last_page, to. Pertama kita akan mengubah respons...

Apa itu interopabilitas?

  Interoperabilitas Adalah : Karakteristik, Kelebihan dan Kekurangannya Interoperabilitas adalah dimana suatu aplikasi bisa berinteraksi dengan aplikasi lainnya melalui suatu protokol yang disetujui bersama lewat bermacam-macam jalur komunikasi, biasanya lewat network TCP/IP dan protokol HTTP dengan memanfaatkan file XML. Aplikasi dapat ditempatkan pada platform yang berbeda: Delphi Win32, NET, Java atau bahkan pada sistem operasi yang berbeda. Kata “interoperabilitas” terdiri dari 3 kata, yaitu: “inter” yg artinya antar (beberapa hal), “operate” yg artinya bekerja, dan “ability” yg artinya kemampuan/kebisaan. Ketika digabungkan menjadi “interoperabilitas”, ini secara kasar berarti “kemampuan untuk bekerja di antara banyak hal” atau terjemahan gratis tentang “kemampuan untuk bekerja bersama di antara banyak hal”. Interoperabilitas merupakan kemampuan berbagai ragam sistem untuk bekerja sama dan kemampuan sebuah sistem untuk bekerja atau digunakan oleh sistem lain (Merriam Webster)....