You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
API — Auth Service
Base URL:
https://console.gisportal.id/api/v1
POST /auth/login
Login via LDAP Active Directory. Tidak butuh auth header.
Request:
{"username": "rbsetiawan", "password": "password123"}
Response 200:
{
"token": "eyJ0eXAiOiJKV1Qi...",
"expires_at": "2026-07-06T09:00:00+07:00",
"user": {
"username": "rbsetiawan",
"display_name": "R B Setiawan",
"groups": ["Domain Admins", "IT-Admin"]
}
}
Response 401: Credentials salah atau user tidak ada di AD. Rate limit: 5 req/menit.
POST /auth/refresh
Refresh JWT tanpa login ulang (token lama masih valid).
Header: Authorization: Bearer <old-jwt>
Response 200:
{"token": "eyJ0eXAiOiJKV1Qi...", "expires_at": "2026-07-06T09:00:00+07:00"}
GET /auth/token-guide
Panduan penggunaan token. Public, tidak butuh auth.
Response 200: HTML atau JSON guide.
GET /me
Info user yang sedang login.
Header: Authorization: Bearer <token>
Response 200:
{
"username": "rbsetiawan",
"display_name": "R B Setiawan",
"email": "rbsetiawan@gisportal.id",
"department": "IT",
"groups": ["Domain Admins", "IT-Admin"],
"avatar_url": "https://file.gisportal.id/super-apps/avatars/rbsetiawan-AbCd.jpg"
}
PUT /me/avatar
Upload avatar user (base64 encoded).
Header: Authorization: Bearer <jwt>
Request:
{"data": "data:image/jpeg;base64,/9j/4AAQSkZJRg..."}
- Max size: 300KB (base64)
- Format: JPEG, PNG
- Disimpan ke QNAP OSS bucket
super-apps
Response 200:
{"avatar_url": "https://file.gisportal.id/super-apps/avatars/rbsetiawan-AbCd1234.jpg"}