Space Access Token

Terakhir diperbarui: 23 Juli 2026

Space Access Token adalah token yang dapat membaca dan menulis konten di dalam satu Space. Dengan token ini Anda dapat membuat, mengubah, dan menghapus konten melalui CMA, dan pembacaan CDA serta Upload pun dipanggil dengan token ini. Saat diterbitkan, token diikat ke satu SpaceRole, dan peran itulah yang menentukan apa dan sampai sejauh mana token dapat bekerja (yaitu Content Type mana saja yang boleh ditangani dengan tindakan apa).

Berbeda dengan Delivery Access Token yang hanya-baca, token ini juga dapat menulis. Namun, berbeda dengan Personal Access Token yang terikat pada seluruh akun pengguna, token ini terbatas hanya pada satu Space dan tidak dapat mengakses pengaturan Space, organisasi, bidang akun, maupun Space lain. Di CMA, Space Access Token merupakan sumber daya turunan dari Space, dan path-nya mengacu pada /spaces/{spaceId}/space-access-tokens. Apakah token ini ditempatkan di server atau di klien yang terekspos (misalnya penulisan anonim) ditentukan sesuai layanan. Karena ini token kuat yang memiliki hak tulis, keamanan dijaga dengan mempersempit peran yang diikat sesuai cakupan keterpaparan tempat token itu berada (lihat Keamanan: pengikatan peran sesuai cakupan keterpaparan di bawah).

Struktur sumber daya

Berikut adalah respons saat sebuah Space Access Token dibuat. sys (properti sistem) memuat nilai token dan cakupannya, sedangkan body memuat name dan description.

{
  "sys": {
    "id": "7WpR4mKq2bTnXfLc8Vd3HsJ9gEyAo",
    "type": "SpaceAccessToken",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "user": { "sys": { "id": "3trmXRLdJIqc9GPBbyFYQQwYT32LnU", "type": "Refer", "targetType": "User" } },
    "createdBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-06-19T02:15:38.472Z",
    "updatedBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-06-19T02:15:38.472Z",
    "accessToken": "SPCATq8Lm2vK9pXfR1Zt0Nc4Wd6Hg5Ua2Ee9Ck3PoYx8Bj6Hg5Ua2Ee9Ck3Po…",
    "scopes": ["SPACE_ACCESS_TOKEN"]
  },
  "description": "Token server untuk pendaftaran dan penyuntingan produk toko pakaian",
  "name": "Server backend produk"
}

Kunci utama:

  • sys.id: pengenal unik Space Access Token. Nilai ini masuk ke {spaceAccessTokenId} pada path baca, ubah, dan hapus tunggal.
  • sys.space: Space tempat token ini berada. Token hanya bekerja pada satu Space ini saja.
  • sys.accessToken: nilai token rahasia yang digunakan untuk memanggil API. Dimulai dengan SPCAT, dan karena nilai yang sama tetap muncul apa adanya pada pembacaan setelah penerbitan, berhati-hatilah terhadap keterpaparannya (lihat bagian keamanan di bawah).
  • sys.scopes: cakupan hak token. Saat diterbitkan, Space Access Token selalu bernilai ["SPACE_ACCESS_TOKEN"].
  • sys.user: pengguna khusus yang menjadi subjek hak dari token ini. Pengguna ini dibuat secara otomatis saat penerbitan, dan hak dari SpaceRole yang diikat diberikan kepada pengguna ini. Dengan kata lain, hak efektif token berasal dari pengguna ini. Pengguna ini berbeda dari orang yang benar-benar menerbitkan token ini (sys.createdBy).
  • name: nama token yang ditetapkan saat pembuatan (contoh: Server backend produk).
  • description: deskripsi token (opsional).

role (SpaceRole yang akan diikat) adalah nilai input yang hanya dikirim melalui body permintaan pembuatan, dan tidak disertakan dalam sumber daya respons. Peran yang diikat diberikan dengan cara ditetapkan kepada pengguna khusus token ini (sys.user pada respons), sehingga tidak dikembalikan sebagai field role pada respons pembacaan. accessToken pada contoh di atas adalah nilai rahasia, sehingga diganti dengan string contoh. Nilai sebenarnya berupa string panjang dan tidak transparan yang dimulai dengan SPCAT, dan akan tetap sama ketika dibaca kembali setelah diterbitkan.

Properti sistem (sys)

Setiap Space Access Token memuat properti sistem umum dan properti khusus token di dalam objek sys. space, user, createdBy, dan updatedBy masuk dalam bentuk Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropertiTipeDeskripsi
idstringPengenal unik sumber daya.
typestringJenis sumber daya. Space Access Token selalu "SpaceAccessToken".
spaceRefer<Space>Space tempat token ini berada.
userRefer<User>Pengguna khusus yang menjadi subjek hak dari token ini. Dibuat secara otomatis saat penerbitan, dan hak dari SpaceRole yang diikat diberikan kepada pengguna ini (hak efektif token berasal dari pengguna ini). Berbeda dari createdBy (penerbit sebenarnya).
createdByRefer<User>Pengguna sebenarnya yang menerbitkan token ini (subjek hak adalah user di atas).
createdAtstring (date-time)Waktu pembuatan.
updatedByRefer<User>Pengguna sebenarnya yang terakhir mengubah.
updatedAtstring (date-time)Waktu perubahan terakhir.
accessTokenstringNilai token rahasia yang digunakan untuk memanggil API. Dimulai dengan SPCAT. Karena tetap muncul apa adanya pada pembacaan setelah penerbitan, perlakukan agar tidak terekspos ke luar.
scopesstring arrayCakupan hak token. Space Access Token selalu ["SPACE_ACCESS_TOKEN"].

Properti body:

PropertiTipeDeskripsi
namestring (1~64)Nama token. Ditetapkan saat pembuatan.
descriptionstring (≤128)Deskripsi token. Opsional.

Input khusus body permintaan pembuatan:

PropertiTipeDeskripsi
roleRefer<SpaceRole>Refer ke SpaceRole yang akan diikat. Wajib. Peran ini menentukan cakupan baca-tulis token. Hanya ditetapkan saat pembuatan; setelah penerbitan tidak dapat diubah dan tidak muncul pada respons.

Keamanan: pengikatan peran sesuai cakupan keterpaparan

Space Access Token adalah token kuat yang juga dapat menulis. SpaceRole mana yang diikat menjadi batas kemampuan token ini sekaligus batas keamanannya. Apakah token ini ditempatkan di server atau di klien yang terekspos (misalnya penulisan anonim) ditentukan sesuai layanan, dan keamanan dijaga bukan dengan "di mana disembunyikan", melainkan dengan mempersempit peran yang diikat sesuai cakupan keterpaparan.

  • Pada role di permintaan pembuatan, masukkan sys.id dari SpaceRole sempit yang hanya mengizinkan tindakan yang diperlukan untuk penggunaannya. Untuk token server pendaftaran produk, ikat peran yang hanya mengizinkan baca dan tulis pada Content Type produk; untuk token penulisan anonim yang terbuka, ikat peran yang hanya mengizinkan pembuatan (create) pada Content Type postingan. Dengan begitu, ikatkan seminimal mungkin sesuai cakupan keterpaparan.
  • Semakin token itu terekspos ke klien publik, semakin sempit peran yang ditetapkan. Hanya izinkan sampai cakupan yang masih dapat ditanggung seandainya token itu bocor. Jangan mengikat peran Administrator atau peran tulis berjangkauan luas ke token publik. Selain itu, jangan asal memakai item pertama dari daftar SpaceRole; tentukan secara eksplisit sys.id dari peran sempit yang Anda maksud.
  • Untuk pengiriman hanya-baca yang dibuka kepada pengunjung, Delivery Access Token yang tidak memiliki hak tulis lebih sesuai. Gunakan Space Access Token hanya saat tulis diperlukan, dan persempit perannya sesuai cakupan keterpaparan.
  • accessToken adalah nilai rahasia yang dibaca dengan nilai yang sama bahkan setelah diterbitkan. Di tempat yang tidak perlu terekspos, jangan tinggalkan sebagai teks polos di kode, log, penyimpanan, atau pesan galat; jika keterpaparan dicurigai, hapus untuk membatalkannya lalu ganti dengan token baru.

(Sumber: skill weegloo-space-access-token dan weegloo-delivery-access-token, .claude/rules/weegloo-global-rules.md.)

Status dan batasan

Batasan nilai yang harus dipatuhi saat pembuatan dan pengubahan.

TargetBatasan
name1~64 karakter, wajib (saat pembuatan).
descriptionMaksimal 128 karakter, opsional.
roleRefer ke SpaceRole, wajib (saat pembuatan).

Aturan tentang pengikatan dan hak:

  • role yang akan diikat harus benar-benar ada di Space tersebut. Jika Anda memasukkan sys.id peran yang tidak ada, pembuatan ditolak (WGL404001). spaceId yang keliru juga gagal dengan kode yang sama.
  • Pemanggil hanya dapat mengikat peran yang ia miliki sendiri di Space tersebut. Ini adalah batasan untuk mencegah pemberian hak yang lebih tinggi ke token dengan mengikat peran yang tidak dimiliki pemanggil; jika dilanggar, permintaan ditolak dengan WGL422001. Namun, pengelola Space itu (pemegang peran Administrator) tidak terkena batasan ini dan dapat mengikat peran apa pun.
  • Space Access Token adalah sumber daya yang memiliki batas jumlah. Jika batas jumlah penerbitan pada paket Anda saat ini terlampaui, pembuatan ditolak (WGL429001). Untuk batas per paket, lihat Paket Harga.
  • Penerbitan dan pengelolaan (buat, baca, ubah, hapus) memerlukan hak pengaturan API Key pada Space tersebut. Space Access Token sendiri tidak dapat membuat Space Access Token lain.

API

Base URL untuk semua endpoint di bawah adalah https://cma.weegloo.com/v1, dan diperlukan token Bearer untuk autentikasi CMA pada header Authorization. Pengubahan dan pengubahan sebagian Space Access Token tidak memerlukan header X-Weegloo-Version.

  • SpaceRole: mendefinisikan peran (cakupan baca-tulis) yang akan diikat ke token ini.
  • Delivery Access Token: token pengiriman hanya-baca yang dibuka kepada pengunjung (untuk klien).
  • Personal Access Token: token Weegloo User untuk server dan CI yang terikat pada seluruh akun.
  • Paket Harga: batas jumlah penerbitan Space Access Token per paket.