Commit Graph

1 Commits

Author SHA1 Message Date
daengdeni
58e3339431 feat(authentication): integrasi sistem otentikasi dengan User Identity Management (UIM)
### Perubahan Utama
- Tambah integrasi dengan sistem UIM untuk otentikasi pengguna.
- Update logika otentikasi berdasarkan metode yang ditentukan (`METHOD_AUTH`).
- Penanganan otomatis terhadap pengguna baru dengan pembuatan akun dan penentuan role.

### Detail Perubahan
1. **Integrasi Sistem UIM**:
   - Tambah metode `userIdManagemeent` untuk menangani otentikasi pengguna melalui UIM.
   - Implementasikan fungsi `verify_user` di helper baru (`uim.php`) untuk berkomunikasi dengan server UIM.
   - Tambahkan class baru `Uim` untuk menangani verifikasi pengguna melalui koneksi TCP.
   - Dekode respons dari UIM untuk memproses data pengguna.

2. **Penyesuaian Logika Otentikasi**:
   - Jika `METHOD_AUTH` diset ke `uim`, sistem akan dialihkan ke otentikasi melalui UIM.
   - Tambahkan logika fallback untuk otentikasi standar menggunakan Laravel jika UIM tidak digunakan.

3. **Pembuatan Pengguna Baru**:
   - Buat pengguna dalam database secara otomatis jika belum terdaftar menggunakan informasi dari UIM.
   - Validasi kode cabang berdasarkan data UIM untuk menentukan cabang yang relevan.
   - Penetapan role pengguna sesuai dengan kode grup yang diterima dari UIM.

4. **Manajemen Cabang**:
   - Cari cabang terkait berdasarkan 4 digit terakhir kode cabang (`KD_CABANG`) dari data UIM.
   - Simpan ID cabang di session untuk pengguna yang berhasil otentikasi.

5. **Penanganan Validasi dan Error**:
   - Tambahkan mekanisme penanganan rate limit jika otentikasi gagal.
   - Beri pesan error yang lebih informatif saat otentikasi gagal melalui UIM.

6. **Update Konfigurasi Module**:
   - Tambahkan path baru untuk helper `uim.php` di `module.json`.
2025-06-20 14:01:02 +07:00