Skip to content

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.

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.

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 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.

  • 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.