ServiceLogin
Terakhir diperbarui: 3 Juli 2026
ServiceLogin adalah konfigurasi yang memungkinkan Space mendaftarkan dan memasukkan end-user (ServiceUser) produknya sendiri melalui OAuth. Ini adalah pintu masuk untuk menyematkan sistem identitas terpisah dari akun platform Weegloo (Weegloo User yang login ke studio konten) ke dalam produk. Anggota yang mendaftar melalui konfigurasi ini menerima peran bawaan ServiceLogin (defaultRole), dan token anggota tersebut diautentikasi terhadap ACMA/ACDA.
Sebuah Space hanya memiliki paling banyak satu ServiceLogin. Jika Anda memanggil pembuatan (POST) lagi ketika sudah ada, akan dikembalikan WGL409003 (409 Conflict). Karena itu pengambilannya pun dilakukan dengan GET .../service-login tanpa loginId untuk mengambil satu-satunya itu sebagai satu item (tidak ada endpoint daftar).
Struktur resource
Berikut adalah respons untuk satu ServiceLogin. Bersama sys (properti sistem), resource ini memiliki properti body yang menyimpan informasi tampilan layanan dan perilaku pendaftaran: name, callbackUrl, contactEmail, dan approvalRequired.
{
"sys": {
"id": "3trmXRM3RqbgSnifyg7PSlgn01Ex",
"type": "ServiceLogin",
"space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"defaultRole": { "sys": { "id": "3trmXRLXeZN2RTHvVj3hFDN5546vbp", "type": "Refer", "targetType": "ServiceUserRole" } },
"providers": [
{ "registrationId": "google", "clientId": "821047-dailywear.apps.googleusercontent.com" }
],
"createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-18T12:55:00.000Z",
"updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-06-18T12:55:00.000Z",
"version": 1
},
"name": "Keanggotaan DailyWear",
"callbackUrl": "https://dailywear.example/auth/callback",
"contactEmail": "members@dailywear.example",
"approvalRequired": false
}Kunci utama:
defaultRole:Referke ServiceUserRole yang diterima secara bawaan oleh anggota yang baru mendaftar. Jika diperlukan peran berbeda per anggota, gantikan denganroleOverridepada ServiceUser.providers: daftar penyedia OAuth yang didukung layanan ini. Setiap item terdiri dariregistrationId,clientId, danclientSecret.clientSecrettidak muncul dalam respons.callbackUrl: URL tujuan setelah anggota menyelesaikan login OAuth. Token penukaran (exchangeToken) dikembalikan ke URL ini sebagai query string.approvalRequired: jika diaktifkan, anggota baru mendaftar dalam keadaan login dinonaktifkan (enableLogin=false) sehingga memerlukan persetujuan administrator.
Properti sistem (sys)
Setiap ServiceLogin menyimpan properti sistem umum dalam objek sys. space, defaultRole, createdBy, dan updatedBy masuk dalam bentuk Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).
| Properti | Tipe | Deskripsi |
|---|---|---|
id | string | Identifier unik resource. |
type | string | Jenis resource. Untuk ServiceLogin selalu "ServiceLogin". |
space | Refer<Space> | Space tempat konfigurasi ini berada. |
defaultRole | Refer<ServiceUserRole> | ServiceUserRole yang diterima secara bawaan oleh anggota yang baru mendaftar. |
providers | Array Provider | Daftar penyedia OAuth yang didukung. Item respons tidak memuat clientSecret. |
createdBy | Refer<User> | Weegloo User yang membuat konfigurasi ini. |
createdAt | string (date-time) | Waktu pembuatan. |
updatedBy | Refer<User> | Weegloo User yang terakhir mengubahnya. |
updatedAt | string (date-time) | Waktu perubahan terakhir. |
version | integer | Versi resource. Disertakan dalam header X-Weegloo-Version saat melakukan perubahan. |
ServiceLogin adalah resource konfigurasi sehingga tidak memiliki konsep publikasi. Tidak ada publish, archive, atau status; hanya ada version untuk mencegah konflik perubahan bersamaan.
Properti body dan provider
| Properti | Tipe | Deskripsi |
|---|---|---|
name | string | Nama tampilan layanan. |
callbackUrl | string | URL tujuan setelah login OAuth selesai. exchangeToken dikembalikan ke URL ini sebagai query. |
contactEmail | string | Email kontak administrator layanan. |
approvalRequired | boolean | Jika true, anggota baru dimulai dengan enableLogin=false sehingga memerlukan persetujuan administrator. Nilai bawaannya false. |
providers
providers adalah daftar penyedia OAuth yang didukung layanan ini. Setiap provider terdiri dari tiga nilai berikut.
| Properti | Tipe | Deskripsi |
|---|---|---|
registrationId | string | Identifier penyedia OAuth. Saat ini mendukung google, github, facebook, gitlab, kakao, naver, dan line. |
clientId | string | Client ID yang diterbitkan oleh penyedia tersebut. |
clientSecret | string | Client secret yang diterbitkan oleh penyedia tersebut. Bersifat write-only sehingga tidak muncul dalam respons. |
Saat ini registrationId yang sudah dihubungkan WEEGLOO ke endpoint OAuth ada tujuh: google, github, facebook, gitlab, kakao, naver, dan line. Login tidak berfungsi dengan nilai lain selain itu.
Provider dapat disertakan bersama body pembuatan ServiceLogin, atau dikelola secara terpisah melalui endpoint penambahan, perubahan, dan penghapusan provider di bawah. Karena body perubahan (PUT) ServiceLogin tidak memuat providers, provider dari konfigurasi yang sudah dibuat ditangani melalui endpoint khusus.
ServiceLogin harus selalu memiliki minimal 1 provider, dan paling banyak 10 provider. Saat pembuatan, Anda harus menyertakan minimal satu provider pada providers. Satu-satunya provider yang tersisa tidak dapat dihapus, dan mencoba menghapusnya akan mengembalikan WGL422055 (422). Untuk menghilangkan semua provider, hapus ServiceLogin itu sendiri.
Mendaftarkan redirect URI
Saat membuat aplikasi OAuth di konsol setiap provider (Google, GitHub, Facebook, GitLab, Kakao, Naver, LINE), Anda harus mendaftarkan redirect URI resmi (redirect URI) sama persis dengan nilai yang dipakai WEEGLOO. Jika nilainya berbeda, login akan gagal dengan redirect_uri mismatch.
URI yang didaftarkan mengikuti format berikut.
https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/{registrationId}
{spaceId}:sys.iddari Space tempat ServiceLogin ini berada.{registrationId}: identifier provider (google,github,facebook,gitlab,kakao,naver,line).
Misalnya, jika Anda menghubungkan Google ke Space HnQ32YiH, daftarkan https://auth.weegloo.com/v1/spaces/HnQ32YiH/login/oauth2/code/google.
API
Base URL untuk semua endpoint di bawah adalah https://cma.weegloo.com/v1, dan diperlukan token Bearer yang mengautentikasi CMA pada header Authorization. Endpoint perubahan (PUT, PATCH) dan pengelolaan provider harus menyertakan sys.version saat ini pada header X-Weegloo-Version untuk mencegah konflik perubahan bersamaan. Pembuatan dan penghapusan ServiceLogin tidak memerlukan header ini. Pengambilan mengambil satu ServiceLogin dari Space tersebut tanpa loginId.
Dokumen terkait
- ServiceUserRole: kumpulan izin yang diberikan melalui
defaultRole. - ServiceUser: anggota yang mendaftar melalui konfigurasi ini.
- Auth API: alur login OAuth anggota dan penukaran token.
