Authentication API
Spesifikasi endpoint autentikasi /api/auth/session, /api/auth/me, dan /api/auth/logout.
Status: Stablev1.0.0Source Verified: Yes
Source:
src/app/api/auth/session/route.ts, src/app/api/auth/me/route.tsTests: tests/unit/authPolicy.test.ts, tests/routes/parentRegistration.route.test.tsAuthentication API Reference#
Dokumentasi endpoint untuk pembuatan cookie sesi, pemeriksaan identitas aktif, dan proses logout aman.
1. POST /api/auth/session#
Menukarkan Firebase Client ID Token menjadi HttpOnly Session Cookie.
Request Body:#
json
json
1{2 "idToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6..."3}
Response (200 OK):#
json
json
1{2 "status": "success",3 "message": "Sesi autentikasi berhasil dibuat."4}
Header Response: Set-Cookie: __session=...; HttpOnly; Secure; SameSite=Lax
2. GET /api/auth/me#
Mengembalikan data identitas, peran, dan asosiasi klinik dari pengguna yang saat ini sedang login.
Response (200 OK):#
json
json
1{2 "uid": "usr_dokter_bandung_01",3 "email": "[email protected]",4 "displayName": "drg. Ani Sp.Ort",5 "role": "doctor",6 "clinicId": "clinic-cabang-bandung",7 "status": "active"8}
3. POST /api/auth/logout#
Mencabut seluruh refresh token dan menghapus cookie sesi di browser.