Files
bij/docs/migration/auth.md
2026-04-21 05:59:39 +07:00

30 lines
1.3 KiB
Markdown

# 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)