Autentikasi dan akses API
API YoSehat memisahkan autentikasi berdasarkan jenis akun: pengguna, profesional,
dan admin. Endpoint login masing-masing berada di bawah /user/auth,
/professional/auth, dan /admin/auth.
Mengirim token
Section titled “Mengirim token”Endpoint terlindungi menggunakan token JWT pada header HTTP:
Authorization: Bearer <token>Token dikembalikan melalui alur login yang sesuai. Jangan menaruh token di URL, log, tiket dukungan, atau repositori. Endpoint terlindungi juga memeriksa jenis akun token; token dari satu jenis akun tidak otomatis memberi akses ke endpoint jenis akun lain.
Alur akun
Section titled “Alur akun”| Jenis akun | Masuk | Pendaftaran | Pemulihan kata sandi |
|---|---|---|---|
| Pengguna | POST /user/auth/login |
POST /user/auth/register |
/user/auth/forgot-password dan /user/auth/reset-password/:code |
| Profesional | POST /professional/auth/login |
POST /professional/auth/register |
/professional/auth/forgot-password dan /professional/auth/reset-password/:code |
| Admin | POST /admin/auth/login |
Pembuatan akun admin dikelola melalui proses admin | /admin/auth/forgot-password dan /admin/auth/reset-password/:code |
Endpoint verifikasi email dan kode juga tersedia di bawah setiap jalur autentikasi. Lihat Referensi API untuk daftar endpoint lengkap.
Masa berlaku
Section titled “Masa berlaku”Masa berlaku JWT dikonfigurasi melalui JWT_EXPIRATION. Implementasi memakai
1h sebagai nilai fallback saat konfigurasi tersebut tidak tersedia; nilai
lingkungan dapat berbeda. Setelah token kedaluwarsa, masuk kembali menggunakan
alur login yang sesuai.
Akses dan privasi
Section titled “Akses dan privasi”- Gunakan token hanya untuk permintaan yang diizinkan bagi akun tersebut.
- Jangan membagikan token atau data pasien melalui kanal yang tidak disetujui.
- Server membatasi data dashboard berdasarkan identitas akun yang terautentikasi.
- Jika akses ditolak, pastikan token aktif dan jenis akun yang digunakan sesuai dengan endpoint.
