मुख्य सामग्री पर जाएं

कैप्टिव पोर्टल के लिए WeChat OAuth ऑथेंटिकेशन को कैसे कॉन्फ़िगर करें

यह तकनीकी गाइड बताती है कि कैप्टिव पोर्टल के लिए WeChat OAuth ऑथेंटिकेशन को कैसे कॉन्फ़िगर किया जाए। इसमें चीनी विज़िटर्स से फ़र्स्ट-पार्टी डेटा को सुरक्षित रूप से कैप्चर करने के लिए आवश्यक प्लेटफ़ॉर्म रजिस्ट्रेशन, OAuth 2.0 फ़्लो, स्कोप चयन और नेटवर्क प्रवर्तन तंत्र (network enforcement mechanisms) का विवरण दिया गया है।

📖 4 मिनट का पाठ📝 815 शब्द🔧 2 हल किए गए उदाहरण3 अभ्यास प्रश्न📚 8 मुख्य परिभाषाएं

इस गाइड को सुनें

पॉडकास्ट ट्रांसक्रिप्ट देखें
कैप्टिव पोर्टल के लिए WECHAT OAUTH ऑथेंटिकेशन को कैसे कॉन्फ़िगर करें एक Purple तकनीकी ब्रीफिंग - लगभग 10 मिनट --- परिचय और संदर्भ (लगभग 1 मिनट) आपका स्वागत है। यदि आप किसी होटल, रिटेल चेन, स्टेडियम या कॉन्फ्रेंस सेंटर में गेस्ट WiFi के लिए जिम्मेदार हैं जो चीनी विज़िटर्स को सेवा प्रदान करता है, तो यह ब्रीफिंग आपके लिए है। Tencent के 2024 के आंकड़ों के अनुसार, WeChat के पास 1.38 बिलियन मासिक सक्रिय उपयोगकर्ता हैं। इनमें से अधिकांश चीन में हैं, लेकिन इस प्लेटफ़ॉर्म की अंतरराष्ट्रीय स्तर पर भी महत्वपूर्ण उपस्थिति है - संयुक्त राज्य अमेरिका में चार मिलियन उपयोगकर्ता, मलेशिया में 12 मिलियन, और दक्षिण पूर्व एशिया, यूरोप और मध्य पूर्व में इसकी संख्या बढ़ रही है। जब कोई चीनी गेस्ट आपके WiFi से कनेक्ट होता है और केवल ईमेल, Facebook या वाउचर कोड वाला लॉगिन पेज देखता है, तो उन्हें तुरंत असुविधा का सामना करना पड़ता है। हो सकता है कि उनके पास उस डिवाइस पर कोई स्थानीय ईमेल पता सेट न हो। उनके पास निश्चित रूप से WeChat होता है। इसलिए सवाल यह नहीं है कि क्या आपको WeChat लॉगिन की पेशकश करनी चाहिए - बल्कि यह है कि आप इसे सही ढंग से, सुरक्षित रूप से और इस तरह से कैसे कॉन्फ़िगर करते हैं जिससे ऐसा फ़र्स्ट-पार्टी डेटा जनरेट हो जिसका आप वास्तव में उपयोग कर सकें। आज हम इसी विषय को कवर करने जा रहे हैं। हम OAuth 2.0 फ़्लो, आपके लिए आवश्यक दो प्लेटफ़ॉर्म रजिस्ट्रेशन, स्कोप का निर्णय जो यह निर्धारित करता है कि आप क्या डेटा एकत्र करते हैं, नेटवर्क-साइड प्रवर्तन तंत्र (network-side enforcement mechanism), और 2026 में महत्वपूर्ण अनुपालन संबंधी विचारों पर चर्चा करेंगे। --- तकनीकी गहन विश्लेषण (लगभग 5 मिनट) आइए आर्किटेक्चर से शुरुआत करें। एक कैप्टिव पोर्टल किसी अनऑथेंटिकेटेड डिवाइस से आने वाले HTTP ट्रैफ़िक को रोकता है और उसे लॉगिन पेज पर रीडायरेक्ट करता है। वह लॉगिन पेज एक पोर्टल सर्वर पर होस्ट किया जाता है - चाहे वह ऑन-प्रिमाइसेस हो या क्लाउड में। जब आप WeChat OAuth जोड़ते हैं, तो आप उस फ़्लो में एक थर्ड-पार्टी पहचान प्रदाता (identity provider) को शामिल कर रहे होते हैं। यहाँ इसका क्रम दिया गया है। गेस्ट आपके SSID से कनेक्ट होता है। एक्सेस पॉइंट या वायरलेस कंट्रोलर यह पता लगाता है कि डिवाइस का कोई ऑथेंटिकेटेड सेशन नहीं है और सभी HTTP ट्रैफ़िक को आपके कैप्टिव पोर्टल URL पर रीडायरेक्ट कर देता है। पोर्टल पेज लोड होता है और लॉगिन विकल्प प्रस्तुत करता है - जिसमें WeChat शामिल है। गेस्ट WeChat लॉगिन पर टैप करता है। आपका पोर्टल सर्वर ब्राउज़र को open.weixin.qq.com पर WeChat के ऑथराइजेशन एंडपॉइंट पर रीडायरेक्ट करता है, जिसमें आपका AppID, रीडायरेक्ट URI, रिस्पॉन्स टाइप कोड और स्कोप पास किया जाता है। WeChat पूरी तरह से अपने सर्वर पर ऑथेंटिकेशन को संभालता है। यदि गेस्ट पहले से ही अपने ब्राउज़र में WeChat में लॉग इन है, तो उन्हें एक सहमति स्क्रीन दिखाई देती है। यदि वे WeChat इन-ऐप ब्राउज़र का उपयोग कर रहे हैं, तो snsapi_base स्कोप के साथ अनुभव बिना किसी सूचना के (silent) हो सकता है - कोई सहमति प्रॉम्प्ट नहीं। इसके बाद WeChat एक अस्थायी ऑथराइजेशन कोड के साथ आपके पोर्टल के रीडायरेक्ट URI पर वापस रीडायरेक्ट करता है। आपका पोर्टल सर्वर api.weixin.qq.com/sns/oauth2/access_token को कॉल करके, अपना AppID, AppSecret, कोड और authorization_code का ग्रांट टाइप पास करके उस कोड को एक्सेस टोकन से बदलता है। WeChat एक एक्सेस टोकन, एक रिफ्रेश टोकन, उपयोगकर्ता का OpenID और स्वीकृत स्कोप लौटाता है। यदि आपने snsapi_userinfo स्कोप का अनुरोध किया है, तो आप उपयोगकर्ता का उपनाम, अवतार, लिंग और शहर प्राप्त करने के लिए दूसरा API कॉल कर सकते हैं। अब, दो प्लेटफ़ॉर्म रजिस्ट्रेशन। यहीं पर अधिकांश कार्यान्वयन गलत हो जाते हैं। WeChat के पास दो अलग-अलग डेवलपर प्लेटफ़ॉर्म हैं। open.weixin.qq.com पर WeChat Open Platform वेबसाइट एप्लिकेशन और मोबाइल ऐप को संभालता है। mp.weixin.qq.com पर WeChat Official Accounts Platform सार्वजनिक खातों (public accounts) को संभालता है - जिसकी वास्तव में अधिकांश स्थानों को आवश्यकता होती है। WeChat इन-ऐप ब्राउज़र के अंदर गेस्ट्स को सेवा देने वाले कैप्टिव पोर्टल के लिए, आपको Official Accounts Platform पर एक Service Account की आवश्यकता होती है। एक Subscription Account काम नहीं करेगा - इसमें OAuth वेब पेज ऑथराइजेशन अनुमतियां नहीं होती हैं। एक Service Account में यह होती हैं, और यह snsapi_base और snsapi_userinfo दोनों स्कोप का समर्थन करता है। WeChat के बाहर एक मानक मोबाइल ब्राउज़र - Android पर Chrome, iOS पर Safari - से एक्सेस किए जाने वाले कैप्टिव पोर्टल के लिए, आपको Open Platform पर रजिस्टर्ड एक Website Application की आवश्यकता होती है। यह snsapi_login स्कोप का उपयोग करता है और एक QR कोड प्रस्तुत करता है जिसे उपयोगकर्ता अपने WeChat ऐप से स्कैन करता है। व्यवहार में, अधिकांश स्थान डिप्लॉयमेंट दोनों का उपयोग करते हैं। किसी होटल के WiFi पर एक गेस्ट Chrome में पोर्टल खोल सकता है, एक QR कोड देख सकता है, उसे WeChat से स्कैन कर सकता है, और ऑथेंटिकेट कर सकता है। या वे WeChat के भीतर ही किसी लिंक का अनुसरण कर सकते हैं, इन-ऐप ब्राउज़र पर पहुंच सकते हैं, और snsapi_base के साथ चुपचाप ऑथेंटिकेट कर सकते हैं। आइए स्कोप चयन के बारे में बात करते हैं, क्योंकि यह एक वास्तविक निर्णय बिंदु है। snsapi_base केवल OpenID लौटाता है - जो आपके Official Account के भीतर उस उपयोगकर्ता के लिए एक विशिष्ट पहचानकर्ता है। इसके लिए किसी उपयोगकर्ता सहमति प्रॉम्प्ट की आवश्यकता नहीं होती है। ऑथेंटिकेशन उपयोगकर्ता के लिए अदृश्य होता है। यह उन लौटने वाले गेस्ट्स के लिए आदर्श है जिनका प्रोफ़ाइल आपने पहले ही बना लिया है, या उन स्थानों के लिए जहाँ आप बिना किसी नए डेटा के शून्य असुविधा (zero friction) चाहते हैं। snsapi_userinfo OpenID के साथ-साथ उपयोगकर्ता का WeChat उपनाम, प्रोफ़ाइल चित्र, लिंग, भाषा सेटिंग और शहर लौटाता है। इसके लिए एक स्पष्ट सहमति स्क्रीन की आवश्यकता होती है। उपयोगकर्ता को एक प्रॉम्प्ट दिखाई देता है जिसमें पूछा जाता है कि क्या वे आपके Official Account को अपनी जानकारी तक पहुँचने की अनुमति देते हैं। अधिकांश उपयोगकर्ता इसे स्वीकार करते हैं, लेकिन इसमें असुविधा होती है। सही विकल्प आपके उपयोग के मामले पर निर्भर करता है। पहली बार आने वाले गेस्ट के रजिस्ट्रेशन के लिए जहाँ आप एक प्रोफ़ाइल बनाना चाहते हैं, snsapi_userinfo का उपयोग करें और इसे अपने पोर्टल पेज पर GDPR-अनुपालक सहमति परत (consent layer) के साथ जोड़ें। लौटने वाले गेस्ट के लिए जिसने पहले ही सहमति दे दी है और जिसका प्रोफ़ाइल आपके पास पहले से है, चुपचाप पुनः ऑथेंटिकेशन के लिए snsapi_base का उपयोग करें। अब, नेटवर्क प्रवर्तन पक्ष। OAuth टोकन प्राप्त करना पहचान साबित करता है, लेकिन यह स्वचालित रूप से नेटवर्क नहीं खोलता है। आपको सफल ऑथेंटिकेशन को नेटवर्क एक्सेस में बदलने के लिए एक तंत्र की आवश्यकता होती है। दो मानक दृष्टिकोण RADIUS Change of Authorisation (RFC 3576 में परिभाषित) और MAC एड्रेस बाईपास हैं। RADIUS CoA के साथ, आपका पोर्टल सर्वर सफल OAuth के बाद नेटवर्क कंट्रोलर को एक CoA अनुरोध भेजता है, और कंट्रोलर डिवाइस को अनऑथेंटिकेटेड VLAN से गेस्ट VLAN में स्थानांतरित कर देता है। यह Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist और अधिकांश एंटरप्राइज़-ग्रेड कंट्रोलर्स के साथ काम करता है। MAC बाईपास के साथ, पोर्टल सर्वर डिवाइस के MAC एड्रेस को एक ऑथराइज्ड क्लाइंट के रूप में रजिस्टर्ड करता है, और कंट्रोलर इसकी अनुमति देता है। MAC बाईपास को लागू करना सरल है लेकिन यह कम सुरक्षित है, क्योंकि MAC एड्रेस को स्पूफ़ किया जा सकता है। Purple का Guest WiFi प्लेटफ़ॉर्म दोनों तंत्रों को संभालता है। WeChat OAuth पूरा होने के बाद, Purple का क्लाउड ओवरले अंतर्निहित हार्डवेयर को उचित सिग्नल भेजता है - चाहे वह Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme या Fortinet हो। स्थान संचालक को उस अनुवाद को मैन्युअल रूप से प्रबंधित करने की आवश्यकता नहीं होती है। --- कार्यान्वयन सिफारिशें और कमियां (लगभग 2 मिनट) मैं आपको वे पांच चीजें बताता हूँ जिनके कारण WeChat OAuth कैप्टिव पोर्टल कार्यान्वयन विफल हो जाते हैं। पहला: रीडायरेक्ट URI बेमेल (mismatch)। WeChat प्लेटफ़ॉर्म पर आपके द्वारा रजिस्टर्ड ऑथराइज्ड डोमेन के विरुद्ध रीडायरेक्ट URI को सत्यापित करता है। यदि आपका पोर्टल सर्वर किसी भिन्न सबडोमेन, भिन्न पाथ या HTTPS के बजाय HTTP का उपयोग करता है, तो OAuth फ़्लो त्रुटि 40029 - अमान्य कोड के साथ विफल हो जाता है। अपने द्वारा उपयोग किए जाने वाले प्रत्येक डोमेन संस्करण को रजिस्टर्ड करें, जिसमें स्टेजिंग वातावरण भी शामिल हैं। दूसरा: क्लाइंट साइड पर AppSecret। आपका AppSecret कभी भी क्लाइंट-साइड JavaScript या मोबाइल ऐप बाइनरी में दिखाई नहीं देना चाहिए। यह आपके सर्वर पर होना चाहिए। यदि यह उजागर हो जाता है, तो कोई भी आपके एप्लिकेशन का रूप धारण कर सकता है और आपकी ओर से WeChat के API को कॉल कर सकता है। तीसरा: गुम CSRF सुरक्षा। OAuth अनुरोध में स्टेट पैरामीटर विशेष रूप से क्रॉस-साइट रिक्वेस्ट फोर्जरी को रोकने के लिए मौजूद है। एक क्रिप्टोग्राफ़िक रूप से रैंडम स्टेट वैल्यू जनरेट करें, इसे उपयोगकर्ता के सेशन में स्टोर करें, और WeChat द्वारा वापस रीडायरेक्ट किए जाने पर इसे सत्यापित करें। इसे छोड़ दें और आपके पास एक वास्तविक भेद्यता (vulnerability) होगी। चौथा: इन-ऐप ब्राउज़र डिटेक्शन गैप। WeChat का इन-ऐप ब्राउज़र एक विशिष्ट उपयोगकर्ता एजेंट स्ट्रिंग सेट करता है जिसमें "MicroMessenger" शामिल होता है। यदि आपका पोर्टल इसका पता नहीं लगाता है और सही OAuth फ़्लो प्रदान नहीं करता है - इन-ऐप ब्राउज़र के लिए Official Account फ़्लो, मानक ब्राउज़रों के लिए Open Platform QR फ़्लो - तो उपयोगकर्ताओं को एक खराब अनुभव या त्रुटि मिलती है। पांचवां: GDPR और PIPL संरेखण। यदि आप यूरोपीय विज़िटर्स को सेवा देते हैं, तो WeChat OAuth के माध्यम से आपके द्वारा एकत्र किए जाने वाले डेटा पर GDPR लागू होता है। यदि आप चीनी विज़िटर्स को सेवा देते हैं, तो चीन का व्यक्तिगत सूचना संरक्षण कानून - PIPL - इस बात पर लागू होता है कि आप उनके डेटा को कैसे प्रोसेस करते हैं। दोनों के लिए प्रोसेसिंग के लिए एक वैध आधार, स्पष्ट उद्देश्य सीमा और डेटा न्यूनीकरण की आवश्यकता होती है। snsapi_base को snsapi_userinfo की तुलना में डेटा न्यूनीकरण सिद्धांतों के तहत उचित ठहराना आसान है। आप जो भी एकत्र करते हैं, अपने कानूनी आधार और अपनी प्रतिधारण अवधि (retention period) का दस्तावेजीकरण करें। --- त्वरित प्रश्न और उत्तर (लगभग 1 मिनट) प्रश्न: क्या मैं ऐसे पोर्टल पर WeChat लॉगिन का उपयोग कर सकता हूँ जो ईमेल और SMS लॉगिन की भी पेशकश करता है? हाँ। Purple सहित अधिकांश एंटरप्राइज़ पोर्टल प्लेटफ़ॉर्म, एक ही पोर्टल पेज पर कई ऑथेंटिकेशन विधियों का समर्थन करते हैं। WeChat अन्य विकल्पों के साथ एक विकल्प के रूप में दिखाई देता है। प्रश्न: क्या WeChat OAuth iOS पर काम करता है? हाँ, लेकिन एक सूक्ष्म अंतर के साथ। Apple का ऐप ट्रैकिंग ट्रांसपेरेंसी ढांचा सर्वर-साइड OAuth फ़्लो को प्रभावित नहीं करता है। iOS पर Safari में WeChat लॉगिन QR कोड फ़्लो या रीडायरेक्ट फ़्लो के माध्यम से काम करता है। WeChat ऐप स्वयं ऑथेंटिकेशन को संभालता है। प्रश्न: क्या होगा यदि WeChat का API अनुपलब्ध हो? आपके पोर्टल को एक फ़ॉलबैक लागू करना चाहिए। यदि WeChat API कॉल टाइम आउट हो जाती है या कोई त्रुटि लौटाती है, तो उपयोगकर्ता को एक वैकल्पिक लॉगिन विधि पर रीडायरेक्ट करें। उन्हें खाली स्क्रीन के साथ न छोड़ें। प्रश्न: क्या मैं OpenID का उपयोग एक स्थायी ग्राहक पहचानकर्ता के रूप में कर सकता हूँ? आपके Official Account के भीतर, हाँ। OpenID किसी दिए गए उपयोगकर्ता और दिए गए Official Account के लिए स्थिर होता है। यदि आपके पास कई Official Accounts हैं, तो उसी उपयोगकर्ता के पास उन सभी में अलग-अलग OpenID होंगे। क्रॉस-अकाउंट पहचान समाधान के लिए, WeChat एक UnionID प्रदान करता है, जिसके लिए आपके खातों को Open Platform पर लिंक करना आवश्यक होता है। --- सारांश और अगले कदम (लगभग 1 मिनट) संक्षेप में। कैप्टिव पोर्टल के लिए WeChat OAuth ऑथेंटिकेशन दो-प्लेटफ़ॉर्म रजिस्ट्रेशन अभ्यास, एक स्कोप निर्णय, एक नेटवर्क प्रवर्तन एकीकरण और एक अनुपालन समीक्षा है। इन चार चीजों को सही तरीके से करें और आपके पास एक ऐसी लॉगिन विधि होगी जो बिना किसी पासवर्ड असुविधा के एक बिलियन से अधिक संभावित विज़िटर्स को सेवा प्रदान करती है। व्यावहारिक अगले कदम ये हैं। सबसे पहले, यह निर्धारित करें कि आपके विज़िटर्स को पोर्टल का सामना WeChat इन-ऐप ब्राउज़र के अंदर करना पड़ता है या एक मानक मोबाइल ब्राउज़र में - यह निर्धारित करता है कि आपको किस प्लेटफ़ॉर्म रजिस्ट्रेशन की आवश्यकता है। दूसरा, स्कोप तय करें - लौटने वाले गेस्ट्स के लिए snsapi_base, सहमति के साथ पहली बार रजिस्ट्रेशन के लिए snsapi_userinfo। तीसरा, पुष्टि करें कि आपका नेटवर्क हार्डवेयर RADIUS CoA का समर्थन करता है या विकल्प के रूप में MAC बाईपास कॉन्फ़िगर करें। चौथा, GDPR और PIPL आवश्यकताओं के विरुद्ध अपने गोपनीयता नोटिस और सहमति फ़्लो की समीक्षा करें। पांचवां, लाइव होने से पहले रीडायरेक्ट URI, स्टेट पैरामीटर सत्यापन और इन-ऐप ब्राउज़र डिटेक्शन का परीक्षण करें। यदि आप देखना चाहते हैं कि Purple एक व्यापक Guest WiFi और एनालिटिक्स प्लेटफ़ॉर्म के हिस्से के रूप में WeChat OAuth को कैसे संभालता है - 2024 में 80,000 स्थानों और 440 मिलियन लॉगिन में - तो purple.ai पर जाएं या अपनी अकाउंट टीम से बात करें। सुनने के लिए धन्यवाद। --- स्क्रिप्ट का अंत

header_image.png

कार्यकारी सारांश

जब चीनी विज़िटर आपके WiFi से कनेक्ट होते हैं, तो केवल ईमेल या Facebook वाला लॉगिन पेज दिखाने से तुरंत बाधा उत्पन्न होती है। WeChat के पास 1.38 बिलियन मासिक सक्रिय उपयोगकर्ता हैं, और इसे एक पहचान प्रदाता (identity provider) के रूप में कॉन्फ़िगर करने से यह बाधा समाप्त हो जाती है। यह गाइड बताती है कि कैप्टिव पोर्टल के लिए WeChat OAuth 2.0 ऑथेंटिकेशन को कैसे लागू किया जाए, जिसमें आवश्यक प्लेटफ़ॉर्म रजिस्ट्रेशन, OAuth फ़्लो और सफल लॉगिन को नेटवर्क एक्सेस में बदलने के लिए आवश्यक नेटवर्क प्रवर्तन तंत्र (network enforcement mechanisms) का विवरण दिया गया है। हम एंटरप्राइज़ हार्डवेयर पर तकनीकी कार्यान्वयन और GDPR और PIPL के तहत अनुपालन आवश्यकताओं को कवर करते हैं।

तकनीकी आर्किटेक्चर

एक कैप्टिव पोर्टल किसी अनऑथेंटिकेटेड डिवाइस से आने वाले HTTP ट्रैफ़िक को रोकता है और उसे पोर्टल सर्वर पर होस्ट किए गए लॉगिन पेज पर रीडायरेक्ट करता है। जब आप WeChat OAuth को एकीकृत (integrate) करते हैं, तो आप इस फ़्लो में एक थर्ड-पार्टी पहचान प्रदाता (identity provider) को शामिल करते हैं।

architecture_overview.png

यह क्रम इस प्रकार काम करता है:

  1. विज़िटर SSID से कनेक्ट होता है।
  2. एक्सेस पॉइंट या वायरलेस कंट्रोलर ऑथेंटिकेटेड सेशन की कमी का पता लगाता है और HTTP ट्रैफ़िक को कैप्टिव पोर्टल URL पर रीडायरेक्ट करता है।
  3. विज़िटर WeChat लॉगिन चुनता है।
  4. पोर्टल सर्वर ब्राउज़र को WeChat के ऑथराइजेशन एंडपॉइंट (open.weixin.qq.com) पर रीडायरेक्ट करता है, जिसमें AppID, redirect_uri, response_type=code, और scope पास किया जाता है।
  5. WeChat ऑथेंटिकेशन को संभालता है। यदि विज़िटर snsapi_base स्कोप के साथ WeChat इन-ऐप ब्राउज़र का उपयोग करता है, तो यह बिना किसी सूचना के (silently) हो जाता है।
  6. WeChat एक अस्थायी ऑथराइजेशन कोड के साथ पोर्टल के redirect_uri पर वापस रीडायरेक्ट करता है।
  7. पोर्टल सर्वर api.weixin.qq.com/sns/oauth2/access_token को कॉल करके इस कोड को एक्सेस टोकन से बदलता है।
  8. WeChat एक access_token, refresh_token और उपयोगकर्ता का openid लौटाता है।

प्लेटफ़ॉर्म रजिस्ट्रेशन आवश्यकताएँ

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

WeChat Official Accounts Platform

WeChat इन-ऐप ब्राउज़र के अंदर विज़िटर्स को सेवा देने वाले कैप्टिव पोर्टल के लिए, आपको Official Accounts Platform (mp.weixin.qq.com) पर एक Service Account की आवश्यकता होती है। एक Subscription Account में आवश्यक OAuth वेब पेज ऑथराइजेशन अनुमतियों की कमी होती है। एक Service Account snsapi_base और snsapi_userinfo दोनों स्कोप का समर्थन करता है।

WeChat Open Platform

WeChat के बाहर एक मानक मोबाइल ब्राउज़र (जैसे Android पर Chrome या iOS पर Safari) से एक्सेस किए जाने वाले कैप्टिव पोर्टल के लिए, आपको Open Platform (open.weixin.qq.com) पर रजिस्टर्ड एक Website Application की आवश्यकता होती है। यह snsapi_login स्कोप का उपयोग करता है और एक QR कोड प्रस्तुत करता है जिसे उपयोगकर्ता अपने WeChat ऐप से स्कैन करता है।

सभी एक्सेस विधियों को कवर करने के लिए अधिकांश एंटरप्राइज़ डिप्लॉयमेंट में दोनों रजिस्ट्रेशन की आवश्यकता होती है।

स्कोप चयन और डेटा संग्रह

स्कोप पैरामीटर यह निर्धारित करता है कि WeChat आपके पोर्टल सर्वर पर क्या डेटा लौटाता है। यह निर्णय उपयोगकर्ता की असुविधा (friction) और डेटा गोपनीयता अनुपालन दोनों को प्रभावित करता है।

scope_comparison_chart.png

snsapi_base

यह स्कोप केवल OpenID लौटाता है, जो आपके Official Account के भीतर उपयोगकर्ता के लिए एक विशिष्ट पहचानकर्ता (unique identifier) है। इसके लिए किसी उपयोगकर्ता सहमति प्रॉम्प्ट की आवश्यकता नहीं होती है, जिससे ऑथेंटिकेशन उपयोगकर्ता के लिए अदृश्य हो जाता है। यह उन लौटने वाले विज़िटर्स के लिए सर्वोत्तम है जिनका प्रोफ़ाइल आपके पास पहले से है, या उन स्थानों के लिए जो नए डेटा संग्रह के बजाय शून्य असुविधा (zero friction) को प्राथमिकता देते हैं।

snsapi_userinfo

यह स्कोप OpenID के साथ-साथ उपयोगकर्ता का WeChat उपनाम (nickname), प्रोफ़ाइल चित्र, लिंग, भाषा सेटिंग और शहर लौटाता है। इसके लिए एक स्पष्ट सहमति स्क्रीन की आवश्यकता होती है, जिससे असुविधा (friction) होती है। इसका उपयोग पहली बार आने वाले विज़िटर के रजिस्ट्रेशन के लिए करें जहाँ प्रोफ़ाइल बनाना आवश्यक हो, और इसे GDPR-अनुपालक सहमति परत (consent layer) के साथ जोड़ें।

नेटवर्क प्रवर्तन एकीकरण

OAuth टोकन प्राप्त करना पहचान साबित करता है, लेकिन यह नेटवर्क नहीं खोलता है। आपको मानक प्रोटोकॉल का उपयोग करके एक सफल ऑथेंटिकेशन को नेटवर्क एक्सेस में बदलना होगा।

RADIUS Change of Authorisation (CoA)

IEEE 802.1X और RFC 3576 में परिभाषित, RADIUS CoA पोर्टल सर्वर को सफल OAuth के बाद नेटवर्क कंट्रोलर को एक अनुरोध भेजने की अनुमति देता है। इसके बाद कंट्रोलर डिवाइस को अनऑथेंटिकेटेड VLAN से गेस्ट VLAN में स्थानांतरित कर देता है। यह Cisco Meraki, HPE Aruba, Ruckus और Juniper Mist सहित एंटरप्राइज़ हार्डवेयर के लिए मानक है।

MAC एड्रेस बाईपास

वैकल्पिक रूप से, पोर्टल सर्वर डिवाइस के MAC एड्रेस को एक ऑथराइज्ड क्लाइंट के रूप में रजिस्टर्ड करता है, और कंट्रोलर इसकी अनुमति देता है। हालांकि इसे लागू करना सरल है, लेकिन यह कम सुरक्षित है क्योंकि MAC एड्रेस को स्पूफ़ (spoof) किया जा सकता है।

Purple का क्लाउड ओवरले इस अनुवाद को स्वचालित करता है, और WeChat OAuth पूरा होने पर अंतर्निहित हार्डवेयर (जिसमें Ubiquiti UniFi, Cambium, Extreme और Fortinet शामिल हैं) को उचित सिग्नल भेजता है।

अनुपालन और सुरक्षा संबंधी विचार

GDPR और PIPL संरेखण

यदि आप यूरोपीय विज़िटर्स को सेवा देते हैं, तो WeChat OAuth के माध्यम से एकत्र किए गए डेटा पर GDPR लागू होता है। यदि आप चीनी विज़िटर्स को सेवा देते हैं, तो चीन का व्यक्तिगत सूचना संरक्षण कानून (PIPL) लागू होता है। दोनों ढांचों (frameworks) के लिए प्रोसेसिंग के लिए एक वैध आधार, स्पष्ट उद्देश्य सीमा और डेटा न्यूनीकरण (data minimisation) की आवश्यकता होती है। snsapi_base स्कोप snsapi_userinfo की तुलना में डेटा न्यूनीकरण सिद्धांतों के साथ अधिक आसानी से संरेखित होता है।

CSRF सुरक्षा

OAuth अनुरोध में state पैरामीटर क्रॉस-साइट रिक्वेस्ट फोर्जरी (CSRF) को रोकता है। आपको एक क्रिप्टोग्राफ़िक रूप से रैंडम स्टेट वैल्यू जनरेट करनी होगी, इसे उपयोगकर्ता के सेशन में स्टोर करना होगा, और WeChat द्वारा वापस रीडायरेक्ट किए जाने पर इसे सत्यापित (validate) करना होगा।

Redirect URI सत्यापन

WeChat प्लेटफ़ॉर्म पर रजिस्टर्ड ऑथराइज्ड डोमेन के विरुद्ध redirect_uri को सत्यापित करता है। यदि आपका पोर्टल सर्वर HTTPS के बजाय किसी भिन्न सबडोमेन, पाथ या HTTP का उपयोग करता है, तो OAuth फ़्लो त्रुटि (error) 40029 के साथ विफल हो जाता है।

अपने नेटवर्क को सुरक्षित रखने के बारे में अधिक जानकारी के लिए, हमारी एंटरप्राइज़ WiFi सुरक्षा: 2026 के लिए एक संपूर्ण गाइड देखें।

मुख्य परिभाषाएं

snsapi_base

एक WeChat OAuth स्कोप जो सहमति प्रॉम्प्ट प्रदर्शित किए बिना केवल उपयोगकर्ता का OpenID लौटाता है।

इसका उपयोग तब किया जाता है जब IT टीमों को लॉगिन असुविधा पैदा किए बिना लौटने वाले विज़िटर्स को चुपचाप (silently) ऑथेंटिकेट करने की आवश्यकता होती है।

snsapi_userinfo

एक WeChat OAuth स्कोप जो जनसांख्यिकीय डेटा (उपनाम, लिंग, शहर) के साथ OpenID लौटाता है और इसके लिए स्पष्ट उपयोगकर्ता सहमति की आवश्यकता होती है।

इसका उपयोग पहली बार रजिस्ट्रेशन के दौरान किया जाता है जब मार्केटिंग टीमों को विज़िटर प्रोफ़ाइल बनाने की आवश्यकता होती है।

OpenID

एक विशिष्ट WeChat Official Account के भीतर एक विशिष्ट उपयोगकर्ता के लिए एक विशिष्ट पहचानकर्ता (unique identifier)।

विज़िटर के व्यवहार और लौटने वाली विज़िट को ट्रैक करने के लिए पोर्टल डेटाबेस में प्राइमरी की (primary key) के रूप में उपयोग किया जाता है।

RADIUS CoA

Change of Authorisation. RFC 3576 में परिभाषित एक तंत्र जो सर्वर को एक सक्रिय सेशन की ऑथराइजेशन स्थिति को संशोधित करने की अनुमति देता है।

सफल WeChat ऑथेंटिकेशन के बाद वायरलेस कंट्रोलर को नेटवर्क एक्सेस देने के लिए पोर्टल सर्वर द्वारा उपयोग किया जाता है।

PIPL

Personal Information Protection Law. चीन का व्यापक डेटा गोपनीयता विनियमन (regulation)।

WeChat लॉगिन का उपयोग करने वाले चीनी विज़िटर्स के लिए सहमति फ़्लो डिज़ाइन करते समय GDPR के साथ इस पर विचार किया जाना चाहिए।

AppID and AppSecret

आपके एप्लिकेशन की पहचान करने और उसे ऑथेंटिकेट करने के लिए WeChat द्वारा प्रदान किए गए क्रेडेंशियल।

AppSecret पोर्टल सर्वर पर सुरक्षित रहना चाहिए और इसे कभी भी क्लाइंट-साइड कोड में उजागर नहीं किया जाना चाहिए।

State Parameter

OAuth अनुरोध में पास किया गया और वापसी पर सत्यापित किया गया एक क्रिप्टोग्राफ़िक रूप से रैंडम स्ट्रिंग।

कैप्टिव पोर्टल पर क्रॉस-साइट रिक्वेस्ट फोर्जरी (CSRF) हमलों को रोकने के लिए आवश्यक।

MAC Address Bypass

802.1X ऑथेंटिकेशन की आवश्यकता के बजाय डिवाइस के हार्डवेयर एड्रेस को ऑथराइज्ड करके नेटवर्क एक्सेस देने की एक विधि।

सरल नेटवर्क सेटअप के लिए RADIUS CoA का एक विकल्प, हालांकि कम सुरक्षित है।

हल किए गए उदाहरण

लंदन में एक लक्ज़री रिटेल ब्रांड चीनी खरीदारों के लिए WeChat लॉगिन की पेशकश करना चाहता है। वे अपने ग्राहक आधार को समझने के लिए जनसांख्यिकीय (demographic) डेटा एकत्र करना चाहते हैं, लेकिन वे GDPR अनुपालन और पोर्टल पर उच्च ड्रॉप-ऑफ दरों को लेकर चिंतित हैं।

रिटेलर को WeChat Official Accounts Platform पर एक Service Account रजिस्टर करना चाहिए। जनसांख्यिकीय डेटा (उपनाम, लिंग, शहर) एकत्र करने के लिए उन्हें पहली बार कनेक्शन के लिए snsapi_userinfo स्कोप का उपयोग करने के लिए पोर्टल को कॉन्फ़िगर करना होगा। GDPR अनुपालन सुनिश्चित करने के लिए, पोर्टल पेज पर WeChat रीडायरेक्ट से पहले एक स्पष्ट, सचेत-विकल्प ऑप्ट-इन (opt-in) प्रदर्शित होना चाहिए, जिसमें यह स्पष्ट रूप से समझाया गया हो कि कौन सा डेटा एकत्र किया जा रहा है और क्यों। लौटने वाले खरीदारों के लिए, पोर्टल को MAC एड्रेस का पता लगाना चाहिए और बिना किसी असुविधा के पुनः ऑथेंटिकेशन (silent re-authentication) के लिए snsapi_base का उपयोग करना चाहिए, जिससे असुविधा कम से कम हो।

परीक्षक की टिप्पणी: यह दृष्टिकोण उपयोगकर्ता अनुभव के साथ डेटा संग्रह को संतुलित करता है। पहली विज़िट तक उच्च-असुविधा वाले `snsapi_userinfo` फ़्लो को सीमित करके और बाद में `snsapi_base` का उपयोग करके, रिटेलर डेटा न्यूनीकरण सिद्धांतों के अनुपालन में रहते हुए कन्वर्शन को अधिकतम करता है।

एक स्टेडियम HPE Aruba कंट्रोलर्स का उपयोग करके एक नया WiFi नेटवर्क तैनात करता है। उन्होंने WeChat OAuth कॉन्फ़िगर किया है, और पोर्टल को सफलतापूर्वक एक्सेस टोकन प्राप्त हो जाता है, लेकिन विज़िटर का डिवाइस कैप्टिव पोर्टल पेज पर ही रहता है और इंटरनेट का उपयोग नहीं कर पाता है।

एकीकरण (integration) में नेटवर्क प्रवर्तन तंत्र (network enforcement mechanism) की कमी है। पोर्टल सर्वर ने WeChat के साथ उपयोगकर्ता की पहचान सत्यापित कर ली है, लेकिन उसने HPE Aruba कंट्रोलर को एक्सेस देने का निर्देश नहीं दिया है। पोर्टल सर्वर को कंट्रोलर को एक RADIUS Change of Authorisation (CoA) संदेश भेजने के लिए कॉन्फ़िगर किया जाना चाहिए, जो इसे उपयोगकर्ता के MAC एड्रेस को प्री-ऑथेंटिकेशन भूमिका से ऑथेंटिकेटेड गेस्ट भूमिका में स्थानांतरित करने का निर्देश दे।

परीक्षक की टिप्पणी: यह पहचान सत्यापन (identity verification) और नेटवर्क एक्सेस कंट्रोल के बीच अंतर को उजागर करता है। वेब एप्लिकेशन (पोर्टल) और नेटवर्क इंफ्रास्ट्रक्चर के बीच की खाई को पाटने के लिए एंटरप्राइज़ नेटवर्क को RADIUS CoA जैसे प्रोटोकॉल की आवश्यकता होती है।

अभ्यास प्रश्न

Q1. आप एक रिटेल चेन में कैप्टिव पोर्टल तैनात कर रहे हैं। परीक्षण से पता चलता है कि iOS पर Safari में पोर्टल खोलने वाले उपयोगकर्ताओं को WeChat लॉगिन चुनते समय एक त्रुटि (error) मिलती है, लेकिन WeChat संदेश लिंक के भीतर से पोर्टल खोलने वाले उपयोगकर्ता सफलतापूर्वक ऑथेंटिकेट हो जाते हैं। इसका संभावित कारण क्या है?

संकेत: WeChat इन-ऐप ब्राउज़र और मानक मोबाइल ब्राउज़र के बीच अंतर पर विचार करें।

मॉडल उत्तर देखें

कार्यान्वयन संभवतः पूरी तरह से Official Accounts Platform पर रजिस्टर्ड एक Service Account पर निर्भर है, जो केवल WeChat इन-ऐप ब्राउज़र के भीतर OAuth का समर्थन करता है। iOS पर Safari का समर्थन करने के लिए, आपको WeChat Open Platform पर एक Website Application भी रजिस्टर करना होगा और Safari उपयोगकर्ताओं को QR कोड फ़्लो पर रूट करने के लिए उपयोगकर्ता एजेंट डिटेक्शन (user agent detection) लागू करना होगा।

Q2. आपके पोर्टल सर्वर लॉग एक्सेस टोकन एक्सचेंज के दौरान WeChat API से बार-बार 40029 'invalid code' त्रुटियां दिखा रहे हैं। आपको सबसे पहले कौन सा कॉन्फ़िगरेशन जांचना चाहिए?

संकेत: इस बारे में सोचें कि WeChat ऑथेंटिकेशन अनुरोध के स्रोत को कैसे सत्यापित करता है।

मॉडल उत्तर देखें

आपको redirect_uri कॉन्फ़िगरेशन को सत्यापित करना चाहिए। WeChat डेवलपर कंसोल में रजिस्टर्ड ऑथराइज्ड डोमेन के विरुद्ध रीडायरेक्ट URI को कड़ाई से सत्यापित करता है। यदि पोर्टल एक अलग सबडोमेन का उपयोग कर रहा है, या यदि यह HTTPS को छोड़ देता है, तो WeChat कोड एक्सचेंज को अस्वीकार कर देगा।

Q3. एक स्थान संचालक (venue operator) विज़िटर डेटा एकत्र करना चाहता है लेकिन लॉगिन प्रक्रिया के दौरान शून्य असुविधा (zero friction) पर जोर देता है। वे अनुरोध करते हैं कि आप सहमति प्रॉम्प्ट दिखाए बिना विज़िटर का उपनाम और शहर एकत्र करने के लिए WeChat लॉगिन कॉन्फ़िगर करें। आप क्या प्रतिक्रिया देंगे?

संकेत: विभिन्न OAuth स्कोप की क्षमताओं की समीक्षा करें।

मॉडल उत्तर देखें

आपको संचालक को सूचित करना होगा कि यह तकनीकी रूप से असंभव है। उपनाम और शहर जैसे जनसांख्यिकीय डेटा एकत्र करने के लिए snsapi_userinfo स्कोप की आवश्यकता होती है, जो अनिवार्य रूप से WeChat सहमति प्रॉम्प्ट को ट्रिगर करता है। शून्य असुविधा प्राप्त करने के लिए, आपको snsapi_base का उपयोग करना होगा, जो चुपचाप काम करता है लेकिन केवल OpenID लौटाता है।

इस श्रृंखला में आगे पढ़ें

Starlink पर कैप्टिव पोर्टल कैसे सेटअप करें: दूरस्थ और समुद्री स्थानों के लिए एक गाइड

यह गाइड विवरण देती है कि मूल Starlink हार्डवेयर को कैसे बायपास करें और एंटरप्राइज़ राउटिंग उपकरणों का उपयोग करके क्लाउड-प्रबंधित कैप्टिव पोर्टल को कैसे एकीकृत करें। आप सीखेंगे कि CGNAT सीमा को कैसे पार करें, VLAN सेगमेंटेशन लागू करें, सैटेलाइट बैंडविड्थ बाधाओं को प्रबंधित करें और नियामक अनुपालन सुनिश्चित करें।

गाइड पढ़ें →

होटल गेस्ट WiFi प्रबंधन: PMS, पोर्टल और ब्रांड मानकों को एकीकृत करना

यह तकनीकी मार्गदर्शिका विवरण देती है कि एंटरप्राइज़-ग्रेड होटल WiFi नेटवर्क को कैसे आर्किटेक्ट किया जाए, जिसमें VLAN सेगमेंटेशन, स्वचालित सत्र प्रबंधन के लिए PMS एकीकरण, और GDPR-अनुपालन डेटा कैप्चर के लिए कैप्टिव पोर्टल अनुकूलन पर ध्यान केंद्रित किया गया है।

गाइड पढ़ें →

कैप्टिव पोर्टल सर्वोत्तम प्रथाएं: उच्च रूपांतरण और अनुपालन के लिए डिज़ाइन करना

यह तकनीकी गाइड IT प्रबंधकों, नेटवर्क आर्किटेक्ट्स और स्थान संचालन निदेशकों को कैप्टिव पोर्टल तैनात करने के लिए एक संपूर्ण खाका देती है जो उच्च उपयोगकर्ता रूपांतरण के साथ नेटवर्क सुरक्षा को संतुलित करता है। यह VLAN सेगमेंटेशन और RADIUS प्रमाणीकरण से लेकर GDPR-अनुपालक सहमति डिज़ाइन और प्रमाणीकरण विधि चयन तक के संपूर्ण आर्किटेक्चर को कवर करता है। 2024 में 80,000+ स्थानों और 440 मिलियन लॉगिन में Purple के परिचालन अनुभव से ली गई, प्रत्येक सिफारिश वास्तविक परिनियोजन डेटा पर आधारित है।

गाइड पढ़ें →