1

Tuesday, December 8, 2020

PHP LUMEN AUTHENTICATION

 Sebelum memulai tutorial selanjutnya, kalian harus menyelesaikan tutorial sebelumnya di link berikut https://bit.ly/3lVhBab

Membuat Model User
Untuk membuat model user, ikuti langkah-langkah dibawah ini: 

1. Buat file baru dengan nama app/Models/User.php, codenya seperti dibawah ini.


Membuat Fungsi Register
Implementasi fungsi ini adalah fungsi index di PostsController.php: 
1. Buka file routes/web.php, tambahkan code dibawah ini.

2. Buat file baru app/Http/Controllers/AuthController.php, code nya seperti dibawah ini.

3. Mari kita test dengan menggunakan Postman. Negative case. 

4. Mari kita test dengan menggunakan Postman. Positive case.


Instalasi dan Konfigurasi JWT untuk Lumen
Ketika kita login, maka kita akan mengembalikan Token login yang bisa digunakan sebagai penanda sesi Login. Untuk membuat Token ini, kita akan menggunakan plugin JWT untuk Lumen. Mari kita ikuti langkah-langkah dibawah ini: 
1. Jalankan command di di command prompt (harus connect internet). composer require tymon/jwt-auth:dev-develop

2. Kalau berhasil, di file composer.json, akan menjadi seperti ini.

3. Buka file bootstrap/app.php, ubah menjadi seperti dibawah ini. Cari block ‘Register Service Providers’.

4. Jalankan command di di command prompt. php artisan jwt:secret
Buka file .env Kalau berhasil bakal ada line seperti dibawah ini: JWT_SECRET=kdX7ERKWl4AtszpnC4N9KTXX0dmxanedrXo9tB64nJ7eHJms0imL OuajfsS5AzGN


Membuat Fungsi Login
 Untuk membuat fungsi login, mari ikuti langkah-langkah dibawah ini. 
1. Buka file bootstrap/app.php, ubah menjadi seperti dibawah ini. Cari block ‘Register Middleware.

2. Buka file app/Models/user.php, ubah menjadi seperti dibawah ini.

3. Buat file config/auth.php, dengan code seperti dibawah ini

4. Buka file routes/web.php, cari group ‘auth’, ubah menjadi seperti dibawah ini.

5. Buka file app/Http/Controllers/AuthController.php, tambahkan code ini diatas deklarasi Class.

6. Buka file app/Http/Controllers/AuthController.php, tambahkan function login code nya seperti dibawah ini.

7. Test menggunakan Postman
*Kalau email atau password nya salah, akan seperti ini


Membuat Authenticated Routing
Untuk implementasi nya mari ikuti langkah-langkah dibawah ini. 
1. Buka file routes/web.php, ubah posts routing menjadi seperti dibawah ini.

2. Sekarang kalau kita akses melalui Postman, maka response nya seperti ini. 

3. Mari kita tambahkan header Authorization dengan value [Bearer LOGIN_TOKEN]. Authorization ini akan digunakan sebagai sesi Login. 


Identifikasi User Login Authenticated Routing
Dari Token login yang dikirim, kita bisa melakukan identifikasi user. Sebagai contoh, kita hanya akan mengembalikan list posts berdasarkan posts.user_id = UserLogin.id. Mari ikuti langkah-langkah dibawah ini. 
1. Buka file app/Http/Controllers/PostsController.php, dan ubah menjadi seperti dibawah ini. 


Hasilnya

 Terima Kaih :)

No comments:

Post a Comment