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

कैप्टिव पोर्टल के लिए WeChat OAuth प्रमाणीकरण को कैसे कॉन्फ़िगर करें

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

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

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

पॉडकास्ट ट्रांसक्रिप्ट देखें
कैप्टिव पोर्टल के लिए WECHAT OAUTH प्रमाणीकरण को कैसे कॉन्फ़िगर करें एक Purple तकनीकी ब्रीफिंग - लगभग 10 मिनट --- परिचय और संदर्भ (लगभग 1 मिनट) स्वागत है। यदि आप किसी होटल, रिटेल चेन, स्टेडियम या कॉन्फ्रेंस सेंटर में गेस्ट WiFi के लिए ज़िम्मेदार हैं जो चीनी विज़िटर्स को सेवा प्रदान करता है, तो यह ब्रीफिंग आपके लिए है। Tencent के 2024 के आंकड़ों के अनुसार, WeChat के पास 1.38 बिलियन मासिक सक्रिय उपयोगकर्ता हैं। इनमें से अधिकांश चीन में हैं, लेकिन इस प्लेटफ़ॉर्म का एक महत्वपूर्ण अंतर्राष्ट्रीय पदचिह्न भी है - संयुक्त राज्य अमेरिका में चार मिलियन उपयोगकर्ता, मलेशिया में 12 मिलियन, और दक्षिण पूर्व एशिया, यूरोप और मध्य पूर्व में बढ़ती संख्या। जब कोई चीनी अतिथि आपके WiFi से कनेक्ट होता है और केवल ईमेल, Facebook या वाउचर कोड वाला लॉगिन पेज देखता है, तो उन्हें तुरंत बाधा का सामना करना पड़ता है। हो सकता है कि उनके पास उस डिवाइस पर स्थानीय ईमेल पता सेट न हो। उनके पास लगभग निश्चित रूप से WeChat होता है। इसलिए सवाल यह नहीं है कि क्या आपको WeChat लॉगिन की पेशकश करनी चाहिए - बल्कि यह है कि आप इसे सही ढंग से, सुरक्षित रूप से और इस तरह से कैसे कॉन्फ़िगर करते हैं जिससे ऐसा फ़र्स्ट-पार्टी डेटा जनरेट हो जिसका आप वास्तव में उपयोग कर सकें। आज हम इसी को कवर करने जा रहे हैं। हम OAuth 2.0 फ़्लो, आपके लिए आवश्यक दो प्लेटफ़ॉर्म पंजीकरण, स्कोप का निर्णय जो यह निर्धारित करता है कि आप क्या डेटा एकत्र करते हैं, नेटवर्क-साइड प्रवर्तन तंत्र (enforcement mechanism), और 2026 में महत्वपूर्ण अनुपालन विचारों के बारे में जानेंगे। --- तकनीकी गहन विश्लेषण (लगभग 5 मिनट) आइए आर्किटेक्चर से शुरू करें। एक कैप्टिव पोर्टल अप्रमाणित डिवाइस से HTTP ट्रैफ़िक को रोकता है और इसे लॉगिन पेज पर रीडायरेक्ट करता है। वह लॉगिन पेज एक पोर्टल सर्वर पर होस्ट किया जाता है - या तो ऑन-प्रिमाइसेस या क्लाउड में। जब आप WeChat OAuth जोड़ते हैं, तो आप उस फ़्लो में एक थर्ड-पार्टी पहचान प्रदाता को शामिल कर रहे होते हैं। यहाँ क्रम दिया गया है। अतिथि आपके 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 प्लेटफ़ॉर्म वेबसाइट एप्लिकेशन और मोबाइल ऐप को संभालता है। mp.weixin.qq.com पर WeChat Official Accounts प्लेटफ़ॉर्म सार्वजनिक खातों को संभालता है - जिसकी अधिकांश स्थानों को वास्तव में आवश्यकता होती है। WeChat इन-ऐप ब्राउज़र के अंदर मेहमानों को सेवा देने वाले कैप्टिव पोर्टल के लिए, आपको Official Accounts प्लेटफ़ॉर्म पर एक Service Account की आवश्यकता होती है। एक Subscription Account काम नहीं करेगा - इसमें OAuth वेब पेज ऑथराइज़ेशन अनुमतियाँ नहीं होती हैं। एक Service Account में होती हैं, और यह `snsapi_base` और `snsapi_userinfo` दोनों स्कोप का समर्थन करता है। WeChat के बाहर एक मानक मोबाइल ब्राउज़र - Android पर Chrome, iOS पर Safari - से एक्सेस किए जाने वाले कैप्टिव पोर्टल के लिए, आपको Open प्लेटफ़ॉर्म पर पंजीकृत एक वेबसाइट एप्लिकेशन की आवश्यकता होती है। यह `snsapi_login` स्कोप का उपयोग करता है और एक QR कोड प्रस्तुत करता है जिसे उपयोगकर्ता अपने WeChat ऐप से स्कैन करते हैं। व्यावहारिक रूप से, अधिकांश स्थान डिप्लॉयमेंट दोनों का उपयोग करते हैं। होटल के WiFi पर एक अतिथि Chrome में पोर्टल खोल सकता है, एक QR कोड देख सकता है, इसे WeChat से स्कैन कर सकता है और प्रमाणित कर सकता है। या वे WeChat में ही किसी लिंक का अनुसरण कर सकते हैं, इन-ऐप ब्राउज़र पर पहुंच सकते हैं, और `snsapi_base` के साथ चुपचाप प्रमाणित कर सकते हैं। आइए स्कोप चयन के बारे में बात करते हैं, क्योंकि यह एक वास्तविक निर्णय बिंदु है। `snsapi_base` केवल OpenID लौटाता है - आपके Official Account के भीतर उस उपयोगकर्ता के लिए एक विशिष्ट पहचानकर्ता। इसके लिए किसी उपयोगकर्ता सहमति प्रॉम्प्ट की आवश्यकता नहीं होती है। प्रमाणीकरण उपयोगकर्ता के लिए अदृश्य होता है। यह उन लौटने वाले मेहमानों के लिए आदर्श है जिनका प्रोफ़ाइल आपने पहले ही बना लिया है, या उन स्थानों के लिए जहाँ आप शून्य नए डेटा की कीमत पर शून्य बाधा चाहते हैं। `snsapi_userinfo` OpenID के साथ-साथ उपयोगकर्ता का WeChat उपनाम, प्रोफ़ाइल चित्र, लिंग, भाषा सेटिंग और शहर लौटाता है। इसके लिए एक स्पष्ट सहमति स्क्रीन की आवश्यकता होती है। उपयोगकर्ता को एक प्रॉम्प्ट दिखाई देता है जिसमें पूछा जाता है कि क्या वे आपके Official Account को अपनी जानकारी तक पहुँचने की अनुमति देते हैं। अधिकांश उपयोगकर्ता स्वीकार करते हैं, लेकिन बाधा होती है। सही चुनाव आपके उपयोग के मामले पर निर्भर करता है। पहली बार आने वाले अतिथि के पंजीकरण के लिए जहाँ आप एक प्रोफ़ाइल बनाना चाहते हैं, `snsapi_userinfo` का उपयोग करें और इसे अपने पोर्टल पेज पर GDPR-अनुपालक सहमति परत के साथ जोड़ें। एक लौटने वाले अतिथि के लिए जिसने पहले ही सहमति दे दी है और जिसका प्रोफ़ाइल आपके पास पहले से है, चुपचाप पुनः प्रमाणीकरण के लिए `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 प्लेटफ़ॉर्म 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 प्लेटफ़ॉर्म पर लिंक करना आवश्यक होता है। --- सारांश और अगले कदम (लगभग 1 मिनट) संक्षेप में। कैप्टिव पोर्टल के लिए WeChat OAuth प्रमाणीकरण एक दो-प्लेटफ़ॉर्म पंजीकरण अभ्यास, एक स्कोप निर्णय, एक नेटवर्क प्रवर्तन एकीकरण और एक अनुपालन समीक्षा है। इन चार चीजों को सही करें और आपके पास एक लॉगिन विधि होगी जो शून्य पासवर्ड बाधा के साथ एक अरब से अधिक संभावित विज़िटर्स को सेवा प्रदान करती है। व्यावहारिक अगले कदम ये हैं। पहला, यह निर्धारित करें कि आपके विज़िटर्स को WeChat इन-ऐप ब्राउज़र के अंदर पोर्टल मिलता है या एक मानक मोबाइल ब्राउज़र में - यह निर्धारित करता है कि आपको किस प्लेटफ़ॉर्म पंजीकरण की आवश्यकता है। दूसरा, स्कोप तय करें - लौटने वाले मेहमानों के लिए `snsapi_base`, सहमति के साथ पहली बार पंजीकरण के लिए `snsapi_userinfo`। तीसरा, पुष्टि करें कि आपका नेटवर्क हार्डवेयर RADIUS CoA का समर्थन करता है या विकल्प के रूप में MAC बाईपास कॉन्फ़िगर करें। चौथा, GDPR और PIPL आवश्यकताओं के विरुद्ध अपने गोपनीयता नोटिस और सहमति फ़्लो की समीक्षा करें। पांचवां, लाइव होने से पहले रीडायरेक्ट URI, स्टेट पैरामीटर सत्यापन और इन-ऐप ब्राउज़र डिटेक्शन का परीक्षण करें। यदि आप देखना चाहते हैं कि Purple एक व्यापक Guest WiFi और एनालिटिक्स प्लेटफ़ॉर्म के हिस्से के रूप में WeChat OAuth को कैसे संभालता है - 2024 में 80,000 स्थानों और 440 million लॉगिन में - तो 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 को एकीकृत करते हैं, तो आप इस फ़्लो में एक थर्ड-पार्टी पहचान प्रदाता को शामिल करते हैं।

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 दो अलग-अलग प्लेटफ़ॉर्म संचालित करता है, और गलत प्लेटफ़ॉर्म चुनने से एकीकरण विफल हो जाता है।

WeChat Official Accounts प्लेटफ़ॉर्म

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

WeChat Open प्लेटफ़ॉर्म

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

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

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

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

scope_comparison_chart.png

snsapi_base

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

snsapi_userinfo

यह स्कोप OpenID के साथ-साथ उपयोगकर्ता का WeChat उपनाम (nickname), प्रोफ़ाइल चित्र, लिंग, भाषा सेटिंग और शहर लौटाता है। इसके लिए एक स्पष्ट सहमति स्क्रीन की आवश्यकता होती है, जिससे बाधा उत्पन्न होती है। इसका उपयोग पहली बार आने वाले विज़िटर के पंजीकरण के लिए करें जहाँ प्रोफ़ाइल बनाना आवश्यक हो, और इसे 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) लागू होता है। दोनों ढांचों के लिए प्रसंस्करण के लिए एक वैध आधार, स्पष्ट उद्देश्य सीमा और डेटा न्यूनीकरण (data minimisation) की आवश्यकता होती है। snsapi_base स्कोप snsapi_userinfo की तुलना में डेटा न्यूनीकरण सिद्धांतों के साथ अधिक आसानी से संरेखित होता है।

CSRF सुरक्षा

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

रीडायरेक्ट URI सत्यापन

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

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

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

snsapi_base

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

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

snsapi_userinfo

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

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

OpenID

एक विशिष्ट WeChat Official Account के भीतर एक विशिष्ट उपयोगकर्ता के लिए एक अनूठा पहचानकर्ता।

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

RADIUS CoA

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

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

PIPL

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

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

AppID and AppSecret

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

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

State Parameter

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

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

MAC Address Bypass

802.1X प्रमाणीकरण की आवश्यकता के बजाय डिवाइस के हार्डवेयर एड्रेस को अधिकृत करके नेटवर्क एक्सेस देने की एक विधि।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GDPR और अतिथि डेटा गोपनीयता अनुपालन के लिए नेटवर्क एडमिनिस्ट्रेटर की गाइड

IT प्रबंधकों, नेटवर्क आर्किटेक्ट्स और वेन्यू ऑपरेशंस निदेशकों के लिए GDPR-अनुपालन Guest WiFi नेटवर्क को डिजाइन करने पर एक व्यापक तकनीकी संदर्भ। इसमें अतिथि नेटवर्क द्वारा एकत्र किए गए व्यक्तिगत डेटा की चार श्रेणियां, प्रत्येक के लिए कानूनी आधार, कैप्टिव पोर्टल सहमति यांत्रिकी, VLAN सेगमेंटेशन, डेटा प्रतिधारण स्वचालन, और कैसे Purple का हार्डवेयर-अज्ञेयवादी (hardware-agnostic) प्लेटफॉर्म प्रत्येक अनुपालन आवश्यकता के अनुरूप काम करता है, शामिल है। वेन्यू ऑपरेटर सीखेंगे कि कैसे Guest WiFi अनुपालन को एक नियामक दायित्व से एक मजबूत, फर्स्ट-पार्टी डेटा संपत्ति में बदला जाए।

गाइड पढ़ें →

एंटरप्राइज SCEP सेटअप गाइड: उच्च शिक्षा और बड़े नेटवर्क के लिए सर्टिफिकेट-आधारित WiFi ऑथेंटिकेशन

यह गाइड SCEP का उपयोग करके सर्टिफिकेट-आधारित WiFi ऑथेंटिकेशन को तैनात करने के लिए एक व्यापक तकनीकी ब्लूप्रिंट प्रदान करती है। इसमें प्री-शेयर्ड कीज़ से EAP-TLS में आर्किटेक्चरल संक्रमण, MDM प्लेटफॉर्म पर परिनियोजन अनुक्रम और बड़े पैमाने के नेटवर्क के लिए महत्वपूर्ण जोखिम शमन रणनीतियों को शामिल किया गया है।

गाइड पढ़ें →

Active Directory या ऑन-प्रिमाइसेस सर्वर के बिना एंटरप्राइज WiFi ऑथेंटिकेशन

यह गाइड बताती है कि ऑन-प्रिमाइसेस Active Directory, विंडोज NPS, या RADIUS सर्वर के बिना सुरक्षित WPA2/3-Enterprise WiFi ऑथेंटिकेशन कैसे तैनात किया जाए। इसमें क्लाउड पहचान प्रदाताओं और 802.1X के बीच प्रोटोकॉल विसंगति, PEAP-MSCHAPv2 पर EAP-TLS के लाभ, और Microsoft Entra ID, Okta, या Google Workspace के विरुद्ध MDM-जारी प्रमाणपत्रों के साथ क्लाउड RADIUS को तैनात करने का तरीका शामिल है। यह उन क्लाउड-फर्स्ट और Mac/Chromebook-प्रधान संगठनों के IT प्रमुखों के लिए लिखा गया है जो ऑन-प्रिमाइसेस इन्फ्रास्ट्रक्चर को सेवानिवृत्त (retire) करने के लिए तैयार हैं।

गाइड पढ़ें →