Ahmad Ma'ruf

Waktoo Super App - Sistem Autentikasi terpadu untuk multi aplikasi

Gambaran Umum

Di Waktoo (bagian dari Kazee), kami mengembangkan tiga produk SASS, yaitu Waktoo CRM, Waktoo HRM, dan Waktoo Commerce.

Kemudian kami mulai mengembangkan waktoo Super App - Sebuah platform yang menggabungkan ketiga produk diatas menjadi satu kesatuan.

Salah satu tantangan terbesarnya ialah sistem autentikasi. Masing-masing produk sudah memiliki sistem autentikasinya masing masing. Kami membutuhkan sistem autentikasi terpusat yang bisa bekerja untuk ketiga produk tanpa merusak alur auntentikasi yang sudah ada saat ini.

Permasalahan

Solusi

Saya merancang dan mengimplementasikan Service Autentikaso di Waktoo Super App, yang menghadirkan:

Solusi ini menjadi pondasi untuk Super App - Memadukan autentikasi tanpa mengganggu sistem autentikasi yang lama pada masing-masing produk.

Arsitektur & Alur Autentikasi

Diagram Alur Autentikasi

Service Autentikasi Super App membuat JWT menggunakan algoritma RS256 (enkripsi asimetris). Setiap aplikasi akan melakukan validasi token menggunakan public key Super App, sehingga proses autentikasi dapat berjalan secara independed tanpa bergantung pada pemanggilan api pada Super app.

Berikut gambaran umum alur autentikasi tersebut:

  1. Login - Pengguna melalukan autentikasi melalui portal Super App
  2. Pembuatan Token - Ketika login sukses, sistem Super App akan membuat JWT yang berisi identitas dan claims dari pengguna tersebut
  3. Penggunaan Token - Setiap client menyisipkan token pada setiap API request menggunakan skema Berier
  4. Verifikasi - Setiap aplikasi melakukan verifikasi terhadap JWT menggunakan public key serta cek validitas token tersebut
  5. Access - Apabila token valid, maka akses ke API tersebut akan diberikan, selain itu semua request ditolak.

Waktoo Super App Token

Kontribusi

Dengan menggabungkan autentikasi ke SSO berbasis JWT, kami menyelesaikan masalah session yang terpisah dan alur login yang berantakan.

Perbaikan utama:

#portfolio #backend #php #laravel #auth

← Kembali ke Portofolio

Balas unggahan ini melalui email ↪