Solusi Otentikasi yang Aman Menggunakan Keycloak : Apa itu Keycloak

Daftar Isi

Dalam era internet saat ini, sudah sangat banyak applikasi yang menekankan usernya untuk login terlebih dahulu sebelum mengakses beberapa fitur di dalam applikasi tersebut. Nah pastinya ketika user login ke dalam applikasi, maka akan ada otentikasi dan mungkin juga akan ada otorisasi sebagai salah satu persyaratan sebelum mengakses bagian dalam applikasi. Jadi bagaimana cara pengembang untuk menangani permasalahan otentikasi dan authorisasi tersebut ? Salah satu solusi yang banyak di gunakan yaitu framework keycloak. Mari kita bahas secara bersama sama tentang apa itu keycloak ? dan CodeDadakan akan memberikan sedikit gambaran flow jika kita menggunakan keycloack untuk fitur otentikasi pada applikasi kita. 

Apa itu Keycloack 

Keycloack merupakan sebuah project yang open-source yang di kembangkan oleh team red had untuk mengelola otentikasi pengguna ( user ) dalam pengembangan applikasi website atau layanan middleware ( back-end ). Dengan menggunakan keycloack, maka pengembang telah membuat keputusan agar waktu yang seharusnya di gunakan membuat fitur login manual akan di handle semua dengan keycloak ( jadi pengembang tidak perlu membangung fitur login manual ). Berikut adalah fitur utama yang di sediakan oleh keycloack : 

  • Singel Sign On ( SSO ) : Anda bisa login di beberapa applikasi dengan satu account.
  • Otentikasi dan Otorisasi : Pengembang bisa menghandel siapa saja yang ingin masuk ke dalam applikasi dan fitur apa saja yang berhak di akses oleh user. 
  • Token Output : Secara default, token yang di hasilkan oleh keycloak adalah token JWT ( Json Web Token )
  • Dukungan Sosial Login : Pengembang dapat menghubungkan applikasinya dengan pihak ke tiga seperti google, facebook, github dll.

Berikut adalah contoh gambar alur jika applikasi menggunakan keycloak untuk fitur login : 

Solusi Otentikasi yang Aman Menggunakan Keycloack : Apa itu Keycloack

Alur Otentikasi

1. User Click Login Page

Pengguna applikasi memulai proses login untuk mengakses halaman applikasi.

2. Redirect to Keycloak

Ketika pengguna ingin login, maka applikasi akan mengarahkan pengguna tersebut ke Keycloak Server. Agar seluruh proses otentikasi dan otorisasi di handle dengan keycloak.

3. Login Page

Keycloak server akan menampilkan halaman login page yang sudah di konfigurasi dan halaman tersebut di berikan ke user.

4. Username/Password

User memasukkan username dan password

5. User Validate

Keycloak server akan melakukan validasi dengan mengecek database internal atau eksternal. Jika username/passoword user valid, maka proses akan berlanjut. Tapi jika tidak valid, maka keycloak akan memberikan pesan error ke pengguna. 

6. Send Token Issuance

Keycloak server akan menghasilkan sebuah token ( biasanya berbentuk token JWT ) yang akan di berikan oleh user sesuai dengan hak akses ( roles ) user tersebut. 

7. Access Granted

Aplikasi menerima token dan menggunakannya untuk memverifikasi identitas user. Dengan token ini, user akan diberikan akses ke aplikasi tanpa perlu login ulang.

Apa Untungnya Menggunakan Keycloak ?

Jika applikasi yang anda bangun menggunakan framework keycloak untuk mengatasi fitur login dalam applikasi anda, maka inilah beberapa keuntungan yang akan anda dapatkan : 

1. Keamanan Tinggi

Keycloak mendukung standar keamanan seperti OAuth 2.0, SAML, dan OpenID Connect untuk memastikan data pengguna akan aman.

2. Singel Sign On

Pengguna applikasi hanya login sekali untuk mengakses beberapa applikasi. 

3. Kemudahan Integrasi

Anda dapat menggunakan bahasa pememrograman apapun jika menggunakan keycloak, seperti Golang, Java, Node JS, atau Python. 

4. Menggunakan Token Untuk Otorisasi

Keycloak menggunakan token JWT untuk fitur otorisasi kepada pengguna. 

Kesimpulan

Keycloak adalah solusi IAM yang sempurna untuk aplikasi modern. Dengan fitur Single Sign-On, keamanan token berbasis JWT, serta dukungan protokol seperti OAuth 2.0 dan OpenID Connect, Keycloak memudahkan pengembang dalam mengelola otentikasi pengguna.

Jadi tidak ada salahnya kan menggunakan keycloak untuk fitur otentikasi dan otorisasi pada applikasi yang akan anda bangun ? yupss selain menghemat waktu, akan ada beberapa keuntungan yang akan anda dapatkan. 

Anda dapat mengunduh keycloak di website official nya : Keycloak : dan mulai melakukan konfigurasi agar applikasi anda dapat terintegrasi dengan framework keren ini. 

Posting Komentar