GeoNetAgent, LDAPWeb, server-audit, server-connection
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

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"}