Initial commit BIJ CI4

This commit is contained in:
BIJ Dev
2026-04-21 05:49:17 +07:00
commit fa38ac6b24
13170 changed files with 866701 additions and 0 deletions

29
docs/migration/auth.md Normal file
View File

@@ -0,0 +1,29 @@
# Autentikasi & otorisasi
## Web (admin / site)
- **Ion Auth** (`application/third_party/ion_auth`), di-autoload (`application/config/autoload.php`).
- Login form: `Site::login` + `Site::login_auth` memanggil `$this->ion_auth->login()`.
- Pembatasan halaman: `MY_Controller` membaca `page_auth` dari config modul (`ci_bootstrap.php`) dan `ion_auth->in_group()`.
### CI4 (rencana)
- Opsi: **CodeIgniter Shield**, **Myth\Auth**, atau port minimal Ion Auth (berat).
- Admin layout saat ini **belum** memakai filter login — sengaja untuk foundation UI.
## API mobile (`Json.php` / CI4 `MobileJsonService`)
- **Login:** `username` + `password` → hash **MD5** di kolom `pegawai.password` (kompatibilitas dipertahankan).
- **Token:** string disimpan di kolom `pegawai.token`; diperbarui saat login; divalidasi per-request via POST `token`.
- **Bukan** JWT dari modul `api` (`Jwt_client.php`) — dua jalur autentikasi terpisah.
### Peningkatan masa depan (tanpa memutus mobile sekarang)
- Password: `password_hash` + kolom migrasi bertahap atau dual-verify.
- Token: JWT stateless + refresh, atau token hash di DB.
- Rate limiting pada `login`.
## File terkait CI4
- `app/Services/Mobile/MobileJsonService.php``login`, `loginWToken`, `savePassword`
- `app/Libraries/LegacyUtf8Encoder.php` — encoding respons (bukan auth)