Skip to main content

PHP AUTHENTICATION LUMEN

Haaaii semua, post sebelumnya kita sudah membuat tutor validation dan error handling sekarang kita lanjut ke authentication persyaratannya kalian harus sudah mengikuti program tutor validation dan error handling terlebih dahulu,
tanpa basa basi
Let's go!

Pertama kita buat table baru dulu , aku kasih nama "pengguna".
nyalakan dahulu xampp nya
masuk ke cmd, pilih folder lumen "cd LumenServicesApp"
dan ketik "php artisan make:migration create_pengguna_table"


setelah itu masuk ke folder Database masuk ke migration cari table pengguna 


masuk dan isikan kodingan seperti ini pada line : 18 sampai 20


setelah itu save ya. lalu masuk ke cmd lagi lalu migrasikan table tersebut ke phpmyadmin dengan mengetik "php artisan migrate"


Masuk ke dalam folder "Models" buat file "Pengguna.php" lalu isikan codingan seperti dibawah ini.

selesai.

MEMBUAT FUNGSI REGISTER

masuk ke folder routes, buka file "web.php" isikan dengan codingan ini.


jangan lupa save setelah itu buatlah file baru pada app/Http/Controllers/AuthController.php code nya seperti dibawah ini.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Pengguna;

class AuthController extends Controller
{
public function register(Request $request)
{
    $this->validate($request, [
        'name'=>'required|string',
        'email'=>'required|email|unique:pengguna',
        'password'=>'required|confirmed',
    ]);
    $input = $request->all();
    $validationRules =[
        'name'=>'required|string',
        'email'=>'required|email|unique:pengguna',
        'password'=>'required|confirmed',
    ];
    $validator = \Validator::make($input$validationRules);

    if ($validator->fails()){
        return response()->json($validator->errors(),400);
    }
    $pengguna = new Pengguna;
    $pengguna->name = $request->input('name');
    $pengguna->email = $request->input('email');
    $plainPassword = $request->input('password');
    $pengguna->password = app('hash')->make($plainPassword);
    $pengguna->save();

    return response()->json($pengguna200);
}
}

coba cek dengan negative case


coba cek dengan positive case


Selesai.

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"


Jika sukses buka file composer.json dan lihat line 10 akan menjadi seperti ini.


Lalu buka folder bootstrap dan buka app.php uncomment pada line 81 dan tambahkan pada line 84 dengan codingan dibawah ini. 


setelah ini , masuk cmd lagi jalankan command ini "php artisan jwt:secret"


buka .env jika sukses akan ada seperti ini di bawahnya.

terdapat JWT_SECRET... 

selesai.

Membuat fungsi Login.

pertama buka bootstrap/app.php  ubah menjadi seperti dibawah ini. Cari block ‘Register Middleware


Buka file app/Models/Pengguna.php, ubah menjadi seperti dibawah ini.Lihat line 11 - 13 dan line 24-31


Buat file config/auth.php 


buka routes/web.php isikan codingan dibawah '/register'.


tambahkan code dibawah ini, di atas class.


lalu tambahkan function login.


tes pada postman seperti ini.
jika penginputan benar


jika penginputan salah

selesai.

Membuat authenticated Routing

masuk ke routes/web.php ubah momonga routing menjadi seperti ini.


sekarang kalau kita mengakses melalui postman responsenya akan seperti ini.


lalu tambahkan authorized header seperti ini. isi bearer dengan token yang telah muncul


selesai.

Membuat user login authorized.

buka controller "MomongaController.php" isi line 7 dan ubah line 17 menjadi seperti dibawah ini.


testing pada postman.


Selesai.

Comments

Popular posts from this blog

Microservice

Hallo semuanya, saya sudah lama tidak update di blog ini hehe, pembahasan untuk kali ini yaitu Microservices, langsung saja saya akan jelaskan di bawah yaa, cekidot gan PENGENALAN Apa itu Microservice? Microservice adalah sebuah aplikasi yang terbagi menjadi beberapa projek kecil yang dalam masing-masing projek tersebut terdapat berbeda layanan yang saling terhubung dan saling melengkapi satu sama lain, perhatikan gambar di bawah ini. terlihat dari gambar di atas ibaratkan kotak oranye adalah server, nah dalam server tersebut terdapat hanya satu layanan, jika dibandingkan dengan  perhatikan gambar di bawah ini. Ibaratkan semua ini di dalam satu server, hanya dengan satu server terdapat banyak layanan sekaligus, terlihat lebih efisien jika dibandingkan dengan Microservice, namun apakah demikian? mari kita lihat perbandingan Microservice dan Monolithic Untuk yang Monolithic   - Jika aplikasi makin kompleks dan penggunanya makin banyak, kenaikan biaya

CodeIgniter Tutor - mengubah ukuran upload

Halo disini aku langsung cepet aja ya karena simple tutorialnya pertama Bukalah file grocery_crud.php dari application/config . Ganti baris: $config['grocery_crud_file_upload_max_file_size'] = '20MB'; Menjadi $config['grocery_crud_file_upload_max_file_size'] = '200MB'; Maka kalian telah berhasil melakukan perubahan upload size. Jangan lupa save ya. selanjutnya buka XAMPP. Cari php.ini dan klik php.ini Pada file PHP.ini cari upload_max_filesize ubah ukuran sesuai dengan keinginan. Jangan lupa save ya selesai :D

PHP LUMEN CONTENT NEGOTIATION

Halo semua, kali ini aku akan melanjutkantutorial dari Web Service Rest CRUD yang lalu, sekarang aku akan membuatkan service agar bisa melakukan Content Negotiation . Fungsi Read All 1.Fungsi Read ini akan melakukan satu validasi, yakni: -melakukan validasi Accept Header: hanya menerima application/json atauapplication/xml -Accept Header ini akan menentukan response format yang di kembalikan 2.Buka file app/Http/Controllers/PostsController.php dan update function store lalu masukkan script tambahan dibawah ini. 3. Lalu buka aplikasi postman dan test,coba tanpa mengirimkan accept request header, bila responnya "not acceptable" maka berhasil. 4. Sekarang kita coba tambahkan request header. klik tab samping headers(disamping tab body yang masih aktif) beri accept header dengan value application/json. hasilnya akan seperti ini. 5. coba ubah value menjadi application/xml menjadi seperti ini. Selesai Set response format pada bagian ini kita akan me