Auth API

अंतिम अपडेट: 3 जुलाई 2026

Auth API एक OAuth फ़्लो है जो ServiceUser (किसी एक Space द्वारा संचालित उत्पाद के सामान्य साइन-अप उपयोगकर्ता) को सोशल लॉगिन से प्रमाणित करता है। ServiceLogin कॉन्फ़िगरेशन से जुड़े प्रदाता (उदाहरण के लिए Google) के ज़रिए लॉगिन करने पर यह API accessToken और refreshToken जारी करता है। जारी किया गया accessToken केवल ACMA और ACDA कॉल के लिए उपयोग किया जाने वाला Bearer टोकन है, और इसे CMA या CDA पर उपयोग नहीं किया जा सकता। पहचान की सीमा पार करने वाला कोई टोकन नहीं है।

बेस URL https://auth.weegloo.com/v1 है, और सभी पथ /spaces/{spaceId}/... के अंतर्गत हैं। सभी अनुरोध और प्रतिक्रिया बॉडी JSON हैं। यदि यह एक ब्राउज़र ऐप है, तो इस वायर को सीधे संभालने के बजाय आधिकारिक SDK weegloo-service-user का उपयोग करने की अनुशंसा की जाती है। यह पृष्ठ उस SDK द्वारा भीतर कॉल किए जाने वाले HTTP वायर को कवर करता है। जब आप ऐसे परिवेश (सर्वर, नेटिव, स्क्रिप्ट) में फ़्लो को सीधे लागू करते हैं जहाँ SDK का उपयोग नहीं किया जा सकता, तो इसे संदर्भ के रूप में देखें।

लॉगिन फ़्लो

लॉगिन चार चरणों में आगे बढ़ता है।

  1. ब्राउज़र को लॉगिन एंट्री URL (/spaces/{spaceId}/login/oauth2/{provider}) पर नेविगेट करें। यह URL उस रीडायरेक्ट शृंखला को शुरू करता है जो प्रदाता (Google) के लॉगिन स्क्रीन तक ले जाती है।
  2. लॉगिन पूरा होने पर Weegloo ब्राउज़र को ServiceLogin में कॉन्फ़िगर किए गए callbackUrl पर वापस भेजता है, और पते में ?exchangeToken=<एक-बार-उपयोग टोकन> जोड़ देता है।
  3. कॉलबैक पृष्ठ पते से exchangeToken पढ़ता है, उसे टोकन एक्सचेंज एंडपॉइंट (POST /spaces/{spaceId}/oauth/token) पर भेजता है, और प्रतिक्रिया के रूप में accessToken और refreshToken प्राप्त करता है।
  4. इसके बाद accessToken को Bearer टोकन के रूप में उपयोग करके ACMA और ACDA को कॉल करें। समाप्ति (expiresAt) से पहले refreshToken के साथ नवीनीकरण करें, और लॉग आउट करते समय टोकन को रद्द करें।

exchangeToken एक-बार-उपयोग वाला है। कॉलबैक को संभालने के तुरंत बाद इसे पता बार से हटा दें ताकि एक्सपोज़र और पुन: उपयोग रोका जा सके (SDK का उपयोग करने पर यह स्वतः संभाल लिया जाता है)।

टोकन मॉडल

टोकन एक्सचेंज और नवीनीकरण एक ही आकार की टोकन प्रतिक्रिया लौटाते हैं। प्रतिक्रिया में निहित टोकन स्ट्रिंग और समय नीचे दिए गए उदाहरण मान हैं, जबकि वास्तव में ये अपारदर्शी गुप्त स्ट्रिंग होते हैं (चूँकि यह फ़्लो प्रदाता लॉगिन से होकर गुज़रता है, इसलिए वास्तविक मानों को ज्यों का त्यों नहीं रखा जा सकता)। संरचना और फ़ील्ड सर्वर कोड द्वारा सत्यापित तथ्य हैं।

{
  "accessToken": "QY3xK9pR2mLs7Vc0Zt8Nf4Wd1Bj6Hg5Ua2Ee9Ck3PoZt8Nf4Wd",
  "tokenType": "Bearer",
  "scope": ["APP"],
  "createdAt": "2026-06-18T05:00:00.000Z",
  "expiresAt": "2026-06-19T05:00:00.000Z",
  "refreshToken": "Rf7Hn2Qw9Zx4Tp1Lk6Vc3Bm8Yd5Gs0Ae2Uj7Co4NeLk6Vc3Bm",
  "refreshExpiresAt": "2026-06-21T05:00:00.000Z"
}
फ़ील्डटाइपविवरण
accessTokenstringACMA और ACDA कॉल के लिए उपयोग किया जाने वाला Bearer टोकन।
tokenTypestringटोकन का प्रकार। हमेशा "Bearer"
scopestring ऐरेटोकन का अनुमति दायरा। ServiceUser टोकन के लिए ["APP"]
createdAtstring (date-time)टोकन जारी होने का समय।
expiresAtstring (date-time)accessToken की समाप्ति का समय।
refreshTokenstringaccessToken को नवीनीकृत करते समय उपयोग किया जाने वाला टोकन।
refreshExpiresAtstring (date-time)refreshToken की समाप्ति का समय। createdAt से 3 दिन बाद।

तीनों टोकन की अवधि इस प्रकार है।

  • exchangeToken एक-बार-उपयोग वाला है और इसकी अवधि छोटी है। कॉलबैक के तुरंत बाद इसे एक्सचेंज करना ज़रूरी है। यह एक्सचेंज प्रतिक्रिया में शामिल नहीं होता, और लॉगिन फ़्लो के चरण 2 में पते के ज़रिए पहुँचाया जाता है।
  • accessToken की अवधि सर्वर सेटिंग पर निर्भर करती है, और सटीक समाप्ति समय प्रतिक्रिया के expiresAt में निहित होता है। यह केवल ACMA और ACDA के लिए है।
  • refreshToken जारी होने के बाद 3 दिनों तक मान्य रहता है (refreshExpiresAt)। नवीनीकरण कॉल करने पर एक नया accessToken और refreshToken युग्म जारी होता है और पिछला युग्म रद्द हो जाता है (रोटेशन, rotation)। हर नवीनीकरण के साथ ठीक पिछला refreshToken अब उपयोग योग्य नहीं रहता।

API

नीचे दिए गए चारों एंडपॉइंट का बेस URL https://auth.weegloo.com/v1 है। इन्हें लॉगिन एंट्री (GET), टोकन एक्सचेंज (POST), टोकन नवीनीकरण (POST), लॉगआउट (DELETE) के क्रम में कवर किया गया है।

  • ServiceUser लॉगिन (अवधारणा): ServiceLogin को कंटेंट स्टूडियो में कॉन्फ़िगर करने का तरीका।
  • ACMA: जारी किए गए टोकन से सदस्य कॉन्टेंट को संभालने वाला API।
  • ACDA: सदस्यों तक पहुँचाई जाने वाली रीड API।