Featured image of post Implementasi JWT Pada KONG

Implementasi JWT Pada KONG

FYI

  • Saya sedang membuat serial untuk pembelajaran KONG pada blog ini.
  • Kita menggunakan KONG Community Edition.
  • Untuk mempermudah praktek, kita akan menggunakan KONGA

Serial

Intro

Kita akan melanjutkan pembahasan KONG dari yang kemarin, kemarin maksud saya 2 bulan yang lalu wkwk. Jadi pada pembahasan sebelumnya kita telah mengetahui tentang Service dan Routes. Pada pembahasan kali ini pahami dulu yang namanya Consumer dan Plugins.

  • Plugins adalah tools yang disediakan atau bisa dibuat sendiri, untuk mempermudah user dalam mengimplementasi fungsionalitas yang diinginkan. Misal disini kita akan menggunakan plugin JWT dalam praktek kali ini.
  • Consumer berperan sebagai pemegang kunci autentikasi. Jadi misal kita punya plugin autentikasi (seperti JWT, Key Auth, dll) yang terpasang pada service/route, plugin autentikasi disini bisa diibaratkan sebagai lubang kunci dan Consumer adalah sang kunci untuk mengakses API yang memiliki autentikasi. CMIIW.

Pembahasan

Setelah mengerti tentang Plugin dan Consumer, kita akan lanjut untuk mengimplementasikan autentikasi JWT pada API kita. Karena sebelumnya kita telah membahas tentang Service dan Route, kita akan membahasnya sedikit saja disini.

Jadi pertama, buat service dan routenya terlebih dahulu.

Service

Route

Selanjutnya yaitu mengaktifkan Plugin JWT. Kita bisa mengaktifkannya secara:

  • Scoped: terpusat pada salah satu service atau route
  • Global: plugin akan diaktifkan pada semua service dan route

Namun disini, kita akan memasangnya secara Scoped yaitu pada Service. Masuk ke Service > Plugins > Add Plugin. Lalu pilih JWT.

Plugins

Pada Plugin ini yang wajib kita isi yaitu:

  • consumer (nope): tidak boleh diisi, atau KONGA akan menampilkan pesan error. Ini dikarenakan plugin JWT harus dapan digunakan oleh semua Consumer.
  • key claim name (optional): default yaitu iss. Disini saya mengubahnya menjadi key.
  • header names (wajib): isi dengan value authorization.

Jika sudah klik Submit Changes. Bisa dilihat bahwa plugin JWT sudah ditambahkan.

JWT Activated

Selanjutnya, kita akan membuat Consumer. Masuk ke menu Consumers > Create Consumer. Buat username dan custom_id sesuai selera.

Consumer

Setelah consumer dibuat, masuk ke Consumer > Credentials > JWT. Lalu Create JWT.

Credentials

Isi key dan secret sesuai dengan selera kalian. Lalu submit.

Form JWT

Bisa dilihat bahwa Credential telah dibuat.

JWT Credential Created

Testing

Berikutnya yaitu generate Bearer Token yang akan digunakan untuk autentikasi API. Sebagai contoh, kita akan menggunakan https://jwt.io. Masukkan key pada payload dan secret pada signature. Copy token yang ada pada sebelah kiri.

jwt.io

Setelah Token digenerate, kita akan melakukan testing dengan menembak API. Disini saya menggunakan Insomnia. Tentu saja kalian bisa menggunakan tool sejenis seperti cURL, http, Postman, dll. Lalu copy token tersebut dan kita akan menempelkannya sebagai Bearer Token.

Skenario I: Valid Token

Valid Token

Skenario II: Invalid Token

Invalid Token

Skenario III: Tanpa Token

Tanpa Token

Serial

Referensi

Penutup

Kurang lebih seperti itu cara menggunakan plugin JWT pada KONG. Jika ada pertanyaan silakan bertanya pada kolom komentar. Sekian dan Terimakasih…

comments powered by Disqus
Writen with ❤️ by Leon
Built with Hugo
Theme Stack designed by Jimmy