Aplikasi Inventaris Sekolah (Laravel 7 - Vue.js - SPA) #4: Autentikasi Middleware

 

Pendahuluan

Part sebelumnya kita berhasil membuat data seeder yang berguna untuk data sampel kita nantinya.

Dalam sebuah aplikasi, autentikasi diperlukan guna untuk memvalidasi data yang masuk dan keluar, dalam hal ini, autentikasi di projek Inventaris Barang ini bertujuan untuk mengenali siapa yang masuk kedalam aplikasi, terdapat 3 role yang masing-masing mempunyai hak akses tersendiri, yaitu:

  • Admin
        Untuk role Admin, mempunyai hak akses: Login, Logout, Inventarisir, Peminjaman, Pengembalian, dan  Generate Laporan, yang artinya, role admin mempunyai semua hak akses yang disediakan.

  • Operator
        Untuk role Operator, mempunyai hak akses: Login, Logout,  Peminjaman dan Pengembalian

  • Peminjam
        Untuk role Peminjam, mempunyai hak akses: Login, Logout dan Peminjaman saja.

Laravel memperkenalkan package passport untuk membuat API Otentikasi, packge passport sendiri memungkinkan kita untuk membuat menggunakan OAuth2, JWT, dll. Dalam kasus ini kita akan mengggunakan passport sebagai sarana autentikasi untuk meng-generate token kepada user. 

Membuat Otentikasi

Sebelum mengoding, kita akan menginstall package passport terlebih dahulu, dikarenakan package ini harus diintsall manual dan disetiap versi laravel akan berbeda pula versi package passport yang akan diinstallNya.

Pada command line, jalankan command:



composer require laravel/passport "~9.0"


command diatas yang artinya kita akan menginstall package passport versi 9.0.

Terdapat 3 tahap inisialisasi agar package passport ini bisa kita gunakan dengan baik;
  1. Setting passport
  2. Setting Auth Provider (app/Providers/AuthServiceProvider.php)
  3. Setting Auth Config (config/auth.php)
Setelah installasi selesai dan tidak ada error, kita masuk ke tahap pertama; lakukan migrate dengan command:



php artisan migrate:fresh --seed


kemudian  gunakan command passport:install puntuk membuat token keys.



php artisan passport:install


setelah token keys berhasil digenerate yang kita butuhkan selanjutnya adalah client secret personal dari passport itu sendiri.



php artisan passport:client --personal --name=invensta



Tahap kedua kita buka terlebih dahulu file app/Providers/AuthServiceProvider.php dan modifikasi menjadi:


Setelah itu save/ simpan file yang sudah kita edit tadi.

Tahap terakhir kita buka file config/auth.php dan modifikasi menjadi:

Kesimpulan

Pada part ke-4 ini kita berhasil membuat autentikasi api, yang dimana ini sangat diperlukan dalam pengamanan akun user karena pada dasarnya aplikasi yang akan kita buat menggunakan api dalam transfer data.

Untuk part selanjutnya kita akan membuat Controller yang dibutuhkan dalam aplikasi Inventaris Sekolah ini.

Jika ada pertanyaan bisa menghubungi saya via WhatsApp ataupun Telegram 

Adapun dokumentasi code dalam serial ini dapat kalian lihat di Github

Tidak ada komentar

Diberdayakan oleh Blogger.