Saya punya arsitektur sistem seperti di bawah ini:
Beberapa poin penting:
- Frontend adalah aplikasi fullstack berbasis Laravel. Mekanisme auth dan authorization (ACL) sudah dihandle disini.
- Dari halaman frontend bisa memanggil API dari 2 tempat:
/api/beakan diarahkan ke aplikasi Laravel dan/api/bpmnakan diarahkan ke Camunda Engine. - Untuk `/api/be’ tidak ada masalah karena ini aplikasi yang sama dengan FE, bisa menggunakan session ataupun token.
Yang masih menjadi pertanyaan, bagaimana mekanis auth dan ACL ketika FE mengakses api/bpmn?
Beberapa opsi yang sudah terpikirkan:
- Camunda Engine akan mengakses langsung DB app (untuk mengakses tabel users, roles, dan acl). Untuk case ini, logic auth akan ada di masing-masing tempat.
- Camunda Engine akan mengakses auth dari Laravel via API. Berarti logic auth cukup ada di Laravel saja.
Catatan:
- Idealnya bisa menambahkan Kong untuk handle auth dari 2 API yang berbeda, tapi karena alasan simplifikasi, opsi ini jadi opsi terakhir.
Apakah ada masukan atau insight lain terkait case di atas, agar sistem tetap aman tetapi effort untuk implementasinya tetap mudah dilakukan?
