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

Membuat Lumen Uplod Media

Membuat Lumen Uplod Media Pada tutorial ini kita akan membahas mengenai upload media dan upload video kedalam tabel posts. Fitur upload Image di Post Untuk mengimplementasikan fitur upload image kita harus menambahkan satu field ke tabel posts. Caranya ketik di command Prompt /CMD : php artisan make:migration add_image_to_posts_table Selanjutnya buka filenya di Database/Migration/.. , dan tambahkan kode berikut: Selanjutnya ketik di command Prompt /CMD : php artisan migrate Dengan begitu sudah bertamah satu kolom/field di table posts. Selanjutnya buka file App/Http/Controllers/PostsController.php dan tambahkan kode berikut di function store : Silakan test di postman store dan isi form datany, dan jika berhasil maka responnya seperti ini. Fitur get image Post Pertama tambahkan kode di routes/web.php Selanjutnya tambahkan method baru "image" di App/Http/Controllers/PostsController.php. Kemudian lakukan test di postman get dengan parameter image name sesuai dengan nama image yan...

MEMBUAT PHP LUMEN API DOKUMENTATION

Membuat PHP Lumen Api Documentation  Mempersiapkan Docs Generator Untuk membuat docs generator kita akan menggunakan swagger-ui (  https://swagger.io/tools/swagger-ui/  ). Untuk membuatnya, silahkan ikuti langkah-langkah dibawah ini: Install swagger-php plugins di projek lumen-service kalian. Pada terminal/CommandPrompt ketik command dibawah ini. composer require zircote/swagger-php Jika sudah selesai selanjutnya buat artisan command file. Buat file di app/Console/Commands/SwaggerDocScanner.php. Lalu masukan kode di bawah ini. Buka file app/Console/Kernel.php, tambahkan code dibawah ini. Untuk menjalankan artisan command SwaggerDocScanner dan menggenerate docs, pada terminal/CommandPrompt jalankan command dibawah. Command ini akan membuat file public/swaggerdoc.json. Saat ini kalau dijalankan, command ini bakal error, karena kita belum mendefiniskan anotasi docs nya. php artisan swaggerdoc:scan Untuk tampilan User Interface nya kita perlu mebuat file html di public folder...

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...