Skip to content

Endpoints SSO

Berikut adalah referensi lengkap URL endpoints yang disediakan oleh Server Backend SSO untuk melakukan integrasi otentikasi.

  • Base URL (Production): https://be.sso.msdp.web.id/api/auth
  • Base URL (Lokal): http://localhost:5001/api/auth

1. Authorization Endpoint

Endpoint ini menampilkan halaman login SSO untuk meminta otorisasi dari pengguna.

  • URL: GET /oauth2/authorize
  • Query Parameters:
    ParameterTipeWajibKeterangan
    response_typestringYaHarus diisi dengan code.
    client_idstringYaClient ID aplikasi Anda yang terdaftar.
    redirect_uristringYaURL Callback yang terdaftar.
    statestringYaString acak unik untuk keamanan CSRF.
    scopestringTidakRuang lingkup data (misal: openid profile email).
    code_challengestringOpsionalHash PKCE untuk proteksi authorization code (direkomendasikan).
    code_challenge_methodstringOpsionalMetode hash PKCE, harus diisi dengan S256 (jika menggunakan PKCE).

2. Token Endpoint

Endpoint ini diakses secara internal oleh server aplikasi klien (backend) untuk menukar kode otorisasi menjadi token akses.

  • URL: POST /oauth2/token

  • Content-Type: application/x-www-form-urlencoded (Wajib)

  • Body Parameters:

    ParameterTipeWajibKeterangan
    grant_typestringYaHarus diisi dengan authorization_code.
    codestringYaKode otorisasi yang didapatkan dari callback.
    client_idstringYaClient ID aplikasi Anda.
    client_secretstringYaClient Secret aplikasi Anda.
    redirect_uristringYaURL Callback yang terdaftar.
    code_verifierstringOpsionalString verifier PKCE asli (wajib jika menyertakan code_challenge di langkah pertama).
  • Response Sukses (200 OK):

    json
    {
      "access_token": "ey...",
      "token_type": "Bearer",
      "expires_in": 3600,
      "refresh_token": "ref_...",
      "id_token": "ey..."
    }

3. User Info Endpoint

Endpoint ini diakses secara internal untuk mengambil profil data pengguna yang sedang login berdasarkan token akses yang dilampirkan pada header otorisasi.

  • URL: GET /oauth2/userinfo

  • Headers:

    • Authorization: Bearer ACCESS_TOKEN_ANDA
  • Response Sukses (200 OK):

    json
    {
      "id": "user-uuid-1234",
      "name": "Muhammad Zain",
      "email": "zain@gmail.com",
      "emailVerified": true
    }

Dirilis di bawah Lisensi MIT.