ServiceLogin
अंतिम अपडेट: 3 जुलाई 2026
ServiceLogin एक ऐसी सेटिंग है जिससे Space अपने उत्पाद के end-user (ServiceUser) को OAuth के ज़रिए साइन-अप और लॉगिन कराता है। यह उत्पाद में एक ऐसी पहचान-व्यवस्था जोड़ने का प्रवेश-द्वार है जो Weegloo प्लेटफ़ॉर्म अकाउंट (कंटेंट स्टूडियो में लॉगिन करने वाले Weegloo User) से अलग है। इस सेटिंग से साइन-अप करने वाले सदस्य को ServiceLogin की डिफ़ॉल्ट भूमिका (defaultRole) मिलती है, और उस सदस्य का टोकन ACMA/ACDA पर प्रमाणित होता है।
एक Space में अधिकतम एक ही ServiceLogin मौजूद रहता है। पहले से मौजूद होने की स्थिति में निर्माण (POST) को फिर से कॉल करने पर WGL409003 (409 Conflict) लौटाया जाता है। इसीलिए रिट्रीव भी loginId के बिना GET .../service-login से उस एक को एकल-संसाधन के रूप में प्राप्त करता है (कोई सूची एंडपॉइंट नहीं है)।
संसाधन संरचना
नीचे एक ServiceLogin की प्रतिक्रिया दी गई है। sys (सिस्टम विशेषताएँ) के साथ-साथ, इसमें सेवा की प्रदर्शन जानकारी और साइन-अप व्यवहार रखने वाली बॉडी विशेषताएँ name, callbackUrl, contactEmail, 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": "DailyWear मेंबरशिप",
"callbackUrl": "https://dailywear.example/auth/callback",
"contactEmail": "members@dailywear.example",
"approvalRequired": false
}मुख्य कुंजियाँ:
defaultRole: नया साइन-अप करने वाला सदस्य डिफ़ॉल्ट रूप से जो ServiceUserRole पाता है, उसकाRefer। यदि किसी सदस्य के लिए अलग भूमिका चाहिए, तो उसे ServiceUser केroleOverrideसे बदला जाता है।providers: यह सेवा जिन OAuth प्रदाताओं का समर्थन करती है उनकी सूची। हर आइटमregistrationId,clientId,clientSecretसे बना होता है। प्रतिक्रिया मेंclientSecretनहीं आता।callbackUrl: सदस्य के OAuth लॉगिन पूरा करने के बाद जिस URL पर जाएगा वह। इस URL पर एक्सचेंज टोकन (exchangeToken) क्वेरी स्ट्रिंग के रूप में जुड़कर वापस आता है।approvalRequired: चालू करने पर नया सदस्य लॉगिन निष्क्रिय (enableLogin=false) स्थिति में साइन-अप होता है और उसे व्यवस्थापक की स्वीकृति चाहिए होती है।
सिस्टम विशेषताएँ (sys)
हर ServiceLogin अपनी साझा सिस्टम विशेषताएँ sys ऑब्जेक्ट में रखता है। space, defaultRole, createdBy, updatedBy Refer आकार ({ "sys": { "id", "type": "Refer", "targetType" } }) में आते हैं।
| विशेषता | प्रकार | विवरण |
|---|---|---|
id | string | संसाधन का अद्वितीय पहचानकर्ता। |
type | string | संसाधन का प्रकार। ServiceLogin के लिए हमेशा "ServiceLogin"। |
space | Refer<Space> | वह Space जिससे यह सेटिंग संबंधित है। |
defaultRole | Refer<ServiceUserRole> | नया साइन-अप करने वाला सदस्य डिफ़ॉल्ट रूप से जो ServiceUserRole पाता है। |
providers | Provider सरणी | समर्थित OAuth प्रदाताओं की सूची। प्रतिक्रिया के आइटम में clientSecret नहीं होता। |
createdBy | Refer<User> | यह सेटिंग बनाने वाला Weegloo User। |
createdAt | string (date-time) | निर्माण का समय। |
updatedBy | Refer<User> | अंतिम बार संशोधन करने वाला Weegloo User। |
updatedAt | string (date-time) | अंतिम संशोधन का समय। |
version | integer | संसाधन संस्करण। संशोधन करते समय X-Weegloo-Version हेडर में डाला जाता है। |
ServiceLogin एक सेटिंग-संसाधन है, इसलिए इसमें प्रकाशन की अवधारणा नहीं है। इसमें publish, archive, status नहीं होते; समवर्ती-संशोधन टकराव रोकने के लिए केवल version होता है।
बॉडी विशेषताएँ और provider
| विशेषता | प्रकार | विवरण |
|---|---|---|
name | string | सेवा का प्रदर्शन नाम। |
callbackUrl | string | OAuth लॉगिन पूरा होने के बाद जिस URL पर जाना है। इस URL पर exchangeToken क्वेरी के रूप में जुड़कर वापस आता है। |
contactEmail | string | सेवा व्यवस्थापक का संपर्क ईमेल। |
approvalRequired | boolean | true होने पर नया सदस्य enableLogin=false से शुरू होता है और उसे व्यवस्थापक की स्वीकृति चाहिए होती है। डिफ़ॉल्ट मान false है। |
providers
providers इस सेवा द्वारा समर्थित OAuth प्रदाताओं की सूची है। हर provider निम्नलिखित तीन मानों से बना होता है।
| विशेषता | प्रकार | विवरण |
|---|---|---|
registrationId | string | OAuth प्रदाता का पहचानकर्ता। वर्तमान में google, github, facebook, gitlab, kakao, naver, line समर्थित हैं। |
clientId | string | उस प्रदाता से जारी किया गया क्लाइंट ID। |
clientSecret | string | उस प्रदाता से जारी किया गया क्लाइंट सीक्रेट। यह केवल-लेखन (write-only) है, इसलिए प्रतिक्रिया में नहीं आता। |
वर्तमान में WEEGLOO ने जिन registrationId के लिए OAuth एंडपॉइंट जोड़ रखे हैं वे सात हैं: google, github, facebook, gitlab, kakao, naver, line। इनके अलावा किसी अन्य मान से लॉगिन काम नहीं करता।
provider को ServiceLogin की निर्माण बॉडी में साथ डाला जा सकता है, या नीचे दिए गए provider जोड़ने, संशोधित करने, हटाने वाले एंडपॉइंट से अलग से प्रबंधित किया जा सकता है। ServiceLogin संशोधन (PUT) बॉडी में providers नहीं होता, इसलिए पहले से बनी सेटिंग के provider को समर्पित एंडपॉइंट से संभाला जाता है।
ServiceLogin में हमेशा कम से कम एक provider होना चाहिए, और अधिकतम 10 provider हो सकते हैं। निर्माण के समय providers में कम से कम एक डालना होता है। अंतिम बचा हुआ एकमात्र provider हटाया नहीं जा सकता, और उसे हटाने का प्रयास करने पर WGL422055 (422) लौटाया जाता है। सभी provider हटाने के लिए ServiceLogin को ही हटा दिया जाता है।
रीडायरेक्ट URI पंजीकरण
प्रत्येक provider (Google, GitHub, Facebook, GitLab, Kakao, Naver, LINE) के कंसोल में OAuth ऐप बनाते समय, स्वीकृत रीडायरेक्ट URI (redirect URI) को WEEGLOO द्वारा प्रयुक्त मान के बिल्कुल समान पंजीकृत करना होता है। मान भिन्न होने पर लॉगिन redirect_uri mismatch के साथ विफल होता है।
पंजीकृत किया जाने वाला URI निम्न प्रारूप में होता है।
https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/{registrationId}
{spaceId}: इस ServiceLogin से संबंधित Space काsys.id।{registrationId}: provider का पहचानकर्ता (google,github,facebook,gitlab,kakao,naver,line)।
उदाहरण के लिए, Space HnQ32YiH में Google जोड़ने पर https://auth.weegloo.com/v1/spaces/HnQ32YiH/login/oauth2/code/google पंजीकृत किया जाता है।
API
नीचे दिए गए सभी एंडपॉइंट का आधार URL https://cma.weegloo.com/v1 है, और Authorization हेडर में CMA को प्रमाणित करने वाला Bearer टोकन आवश्यक है। संशोधन (PUT, PATCH) और provider प्रबंधन एंडपॉइंट को समवर्ती-संशोधन टकराव रोकने के लिए वर्तमान sys.version को X-Weegloo-Version हेडर में भेजना होता है। निर्माण और ServiceLogin हटाने में यह हेडर नहीं होता। रिट्रीव loginId के बिना उस Space की एक ServiceLogin प्राप्त करता है।
संबंधित दस्तावेज़
- ServiceUserRole:
defaultRoleके रूप में दिया जाने वाला अनुमति-समूह। - ServiceUser: इस सेटिंग से साइन-अप करने वाले सदस्य।
- Auth API: सदस्य के OAuth लॉगिन, टोकन एक्सचेंज का प्रवाह।
