मुख्य मजकुराकडे जा

Captive Portals साठी WeChat OAuth ऑथेंटिकेशन कसे कॉन्फिगर करावे

हे तांत्रिक मार्गदर्शक captive portals साठी WeChat OAuth ऑथेंटिकेशन कसे कॉन्फिगर करावे हे स्पष्ट करते. यामध्ये चिनी अभ्यागतांकडून फर्स्ट-पार्टी डेटा सुरक्षितपणे मिळवण्यासाठी आवश्यक असलेले प्लॅटफॉर्म रजिस्ट्रेशन्स, OAuth 2.0 फ्लो, स्कोप निवड आणि नेटवर्क एन्फोर्समेंट मेकॅनिझम्स सविस्तरपणे दिले आहेत.

📖 4 मिनिट वाचन📝 815 शब्द🔧 2 सोडवलेली उदाहरणे3 सराव प्रश्न📚 8 महत्वाच्या व्याख्या

हे मार्गदर्शक ऐका

पॉडकास्ट ट्रान्सक्रिप्ट पहा
CAPTIVE PORTALS साठी WECHAT OAUTH ऑथेंटिकेशन कसे कॉन्फिगर करावे एक Purple तांत्रिक माहितीपत्रक - अंदाजे १० मिनिटे --- प्रस्तावना आणि संदर्भ (अंदाजे १ मिनिट) स्वागत आहे. जर तुम्ही चिनी अभ्यागतांना सेवा देणाऱ्या हॉटेल, रिटेल चेन, स्टेडियम किंवा कॉन्फरन्स सेंटरमधील गेस्ट WiFi साठी जबाबदार असाल, तर हे माहितीपत्रक तुमच्यासाठी आहे. Tencent च्या २०२४ च्या डेटाच्या मते, WeChat चे १.३८ अब्ज मासिक ॲक्टिव्ह युझर्स आहेत. यातील बहुतांश युझर्स चीनमध्ये आहेत, परंतु या प्लॅटफॉर्मचा आंतरराष्ट्रीय स्तरावरही मोठा प्रभाव आहे - युनायटेड स्टेट्समध्ये ४० लाख युझर्स, मलेशियामध्ये १.२ कोटी आणि आग्नेय आशिया, युरोप आणि मध्य पूर्वेमध्ये ही संख्या वाढत आहे. जेव्हा एखादा चिनी पाहुणा तुमच्या WiFi शी कनेक्ट होतो आणि त्याला केवळ ईमेल, Facebook किंवा व्हाउचर कोड असलेला लॉगिन पेज दिसतो, तेव्हा त्यांना लगेच अडथळा जाणवतो. त्यांच्याकडे त्या डिव्हाइसवर स्थानिक ईमेल पत्ता सेट केलेला नसू शकतो. परंतु त्यांच्याकडे WeChat नक्कीच असते. त्यामुळे प्रश्न हा नाही की तुम्ही WeChat लॉगिन ऑफर केले पाहिजे की नाही - तर तो हा आहे की तुम्ही ते योग्यरित्या, सुरक्षितपणे आणि तुम्ही प्रत्यक्षात वापरू शकाल असा फर्स्ट-पार्टी डेटा जनरेट होईल अशा पद्धतीने कसे कॉन्फिगर करता. आज आपण याच विषयावर चर्चा करणार आहोत. आपण OAuth 2.0 फ्लो, तुम्हाला आवश्यक असलेले दोन प्लॅटफॉर्म रजिस्ट्रेशन्स, तुम्ही कोणता डेटा गोळा करता हे ठरवणारा स्कोपचा निर्णय, नेटवर्क-साइड एन्फोर्समेंट मेकॅनिझम आणि २०२६ मध्ये महत्त्वाचे असणारे अनुपालन (compliance) विचार याबद्दल सविस्तर माहिती घेणार आहोत. --- तांत्रिक सखोल विश्लेषण (अंदाजे ५ मिनिटे) चला आर्किटेक्चरपासून सुरुवात करूया. एक captive portal अनऑथेंटिकेटेड डिव्हाइसवरील HTTP ट्रॅफिक अडवते आणि ते पोर्टल सर्व्हरवर - एकतर ऑन-प्रिमाइसेस किंवा क्लाउडवर होस्ट केलेल्या लॉगिन पेजवर रिडायरेक्ट करते. जेव्हा तुम्ही WeChat OAuth जोडता, तेव्हा तुम्ही त्या फ्लोमध्ये थर्ड-पार्टी आयडेंटिटी प्रोव्हाइडर समाविष्ट करत असता. याचा क्रम असा आहे. पाहुणा तुमच्या SSID शी कनेक्ट होतो. ॲक्सेस पॉईंट किंवा वायरलेस कंट्रोलरला समजते की डिव्हाइसचे कोणतेही ऑथेंटिकेटेड सेशन नाही आणि ते सर्व HTTP ट्रॅफिक तुमच्या captive portal URL कडे रिडायरेक्ट करते. पोर्टल पेज लोड होते आणि लॉगिन पर्याय सादर करते - ज्यामध्ये WeChat समाविष्ट आहे. पाहुणा WeChat लॉगिनवर टॅप करतो. तुमचा पोर्टल सर्व्हर ब्राउझरला open.weixin.qq.com वरील WeChat च्या ऑथरायझेशन एंडपॉईंटवर रिडायरेक्ट करतो, ज्यामध्ये तुमचा AppID, रिडायरेक्ट URI, कोडचा रिस्पॉन्स टाईप आणि स्कोप पाठवला जातो. WeChat ऑथेंटिकेशन पूर्णपणे स्वतःच्या सर्व्हरवर हाताळते. जर पाहुणा आधीच त्यांच्या ब्राउझरमध्ये WeChat मध्ये लॉग इन असेल, तर त्यांना संमती स्क्रीन (consent screen) दिसते. जर ते WeChat इन-ॲप ब्राउझर वापरत असतील, तर `snsapi_base` स्कोपसह हा अनुभव सायलेंट असू शकतो - कोणतीही संमतीची सूचना न दाखवता. त्यानंतर WeChat तात्पुरत्या ऑथरायझेशन कोडसह तुमच्या पोर्टलच्या रिडायरेक्ट URI वर परत रिडायरेक्ट करते. तुमचा पोर्टल सर्व्हर तुमचा AppID, AppSecret, कोड आणि authorization_code चा ग्रँट टाईप पाठवून api.weixin.qq.com/sns/oauth2/access_token ला कॉल करून त्या कोडच्या बदल्यात ॲक्सेस टोकन मिळवतो. WeChat एक ॲक्सेस टोकन, रिफ्रेश टोकन, युझरचा OpenID आणि मंजूर केलेला स्कोप परत करते. जर तुम्ही `snsapi_userinfo` स्कोपची विनंती केली असेल, तर तुम्ही युझरचे टोपणनाव, अवतार, लिंग आणि शहर मिळवण्यासाठी दुसरा API कॉल करू शकता. आता, दोन प्लॅटफॉर्म रजिस्ट्रेशन्स. इथेच बहुतांश इम्प्लीमेंटेशन्स चुकतात. WeChat चे दोन स्वतंत्र डेव्हलपर प्लॅटफॉर्म आहेत. open.weixin.qq.com वरील WeChat Open Platform वेबसाइट ॲप्लिकेशन्स आणि मोबाईल ॲप्स हाताळतो. mp.weixin.qq.com वरील WeChat Official Accounts Platform पब्लिक अकाउंट्स हाताळतो - ज्याची प्रत्यक्षात बहुतांश व्हेन्यूजला गरज असते. WeChat इन-ॲप ब्राउझरमध्ये पाहुण्यांना सेवा देणाऱ्या captive portal साठी, तुम्हाला Official Accounts Platform वर Service Account आवश्यक आहे. Subscription Account काम करणार नाही - त्यामध्ये OAuth वेब पेज ऑथरायझेशन परवानग्या नसतात. Service Account मध्ये त्या असतात, आणि ते `snsapi_base` आणि `snsapi_userinfo` दोन्ही स्कोप्सना सपोर्ट करते. WeChat च्या बाहेर स्टँडर्ड मोबाईल ब्राउझरवरून - Android वर Chrome, iOS वर Safari - ॲक्सेस केलेल्या captive portal साठी, तुम्हाला Open Platform वर Website Application रजिस्टर करणे आवश्यक आहे. हे `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 टोकन मिळवणे ओळख सिद्ध करते, परंतु ते नेटवर्क स्वयंचलितपणे उघडत नाही. यशस्वी ऑथेंटिकेशनचे नेटवर्क ॲक्सेसमध्ये रूपांतर करण्यासाठी तुम्हाला एका मेकॅनिझमची आवश्यकता आहे. दोन स्टँडर्ड दृष्टिकोन म्हणजे RFC 3576 मध्ये परिभाषित केलेले RADIUS Change of Authorisation आणि 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 असो. व्हेन्यू ऑपरेटरला ते भाषांतर मॅन्युअली व्यवस्थापित करण्याची आवश्यकता नाही. --- इम्प्लीमेंटेशन शिफारसी आणि त्रुटी (अंदाजे २ मिनिटे) मी तुम्हाला अशा पाच गोष्टी सांगतो ज्यांमुळे WeChat OAuth captive portal इम्प्लीमेंटेशन्स अयशस्वी होतात. पहिले: रिडायरेक्ट URI विसंगती (mismatch). तुम्ही प्लॅटफॉर्मवर रजिस्टर केलेल्या ऑथराइज्ड डोमेनशी WeChat रिडायरेक्ट URI ची पडताळणी करते. जर तुमचा पोर्टल सर्व्हर वेगळा सबडोमेन, वेगळा पाथ किंवा HTTPS ऐवजी HTTP वापरत असेल, तर OAuth फ्लो एरर 40029 - invalid code सह अयशस्वी होतो. तुम्ही वापरत असलेल्या प्रत्येक डोमेन व्हेरिएंटची नोंदणी करा, ज्यामध्ये स्टेजिंग एन्व्हायरनमेंट्सचाही समावेश आहे. दुसरे: क्लायंट-साइडवरील AppSecret. Adhesive AppSecret क्लायंट-साइड JavaScript मध्ये किंवा मोबाईल ॲप बायनरीमध्ये कधीही दिसू नये. ते तुमच्या सर्व्हरवर असले पाहिजे. जर ते उघड झाले, तर कोणीही तुमच्या ॲप्लिकेशनचे सोंग घेऊ शकते आणि तुमच्या वतीने WeChat च्या APIs ला कॉल करू शकते. तिसरे: गहाळ CSRF संरक्षण. OAuth विनंतीमधील स्टेट पॅरामीटर विशेषतः क्रॉस-साइट रिक्वेस्ट फॉर्जरी रोखण्यासाठी अस्तित्वात आहे. एक क्रिप्टोग्राफिकली रँडम स्टेट व्हॅल्यू जनरेट करा, ती युझरच्या सेशनमध्ये स्टोअर करा आणि जेव्हा WeChat परत रिडायरेक्ट करेल तेव्हा तिची पडताळणी करा. हे वगळल्यास तुमच्या सिस्टीममध्ये मोठी असुरक्षितता निर्माण होईल. चौथे: इन-ॲप ब्राउझर डिटेक्शन गॅप. WeChat चा इन-ॲप ब्राउझर "MicroMessenger" समाविष्ट असलेली एक विशिष्ट युझर एजंट स्ट्रिंग सेट करतो. जर तुमच्या पोर्टलने हे शोधले नाही आणि योग्य OAuth फ्लो प्रदान केला नाही - इन-ॲप ब्राउझरसाठी Official Account फ्लो, स्टँडर्ड ब्राउझरसाठी Open Platform QR फ्लो - तर युझर्सना खराब अनुभव किंवा एरर येतो. पाचवे: GDPR आणि PIPL संरेखन (alignment). जर तुम्ही युरोपियन अभ्यागतांना सेवा देत असाल, तर तुम्ही WeChat OAuth द्वारे गोळा करत असलेल्या डेटाला GDPR लागू होतो. जर तुम्ही चिनी अभ्यागतांना सेवा देत असाल, तर तुम्ही त्यांच्या डेटावर कशा प्रकारे प्रक्रिया करता याला चीनचा Personal Information Protection Law - PIPL - लागू होतो. दोन्हीसाठी प्रक्रियेचा कायदेशीर आधार, स्पष्ट हेतू मर्यादा आणि डेटा मिनिमायझेशन आवश्यक आहे. `snsapi_userinfo` च्या तुलनेत डेटा मिनिमायझेशन तत्त्वांतर्गत `snsapi_base` चे समर्थन करणे सोपे आहे. तुम्ही जे काही गोळा कराल, तुमचा कायदेशीर आधार आणि तुमचा रिटेंशन कालावधी दस्तऐवजीकरण (document) करा. --- रॅपिड-फायर प्रश्न आणि उत्तरे (अंदाजे १ मिनिट) प्रश्न: मी ईमेल आणि SMS लॉगिन देखील ऑफर करणाऱ्या पोर्टलवर WeChat लॉगिन वापरू शकतो का? होय. Purple सह बहुतांश एंटरप्राइझ पोर्टल प्लॅटफॉर्म एकाच पोर्टल पेजवर अनेक ऑथेंटिकेशन पद्धतींना सपोर्ट करतात. WeChat इतर पर्यायांसोबत एक पर्याय म्हणून दिसतो. प्रश्न: WeChat OAuth हे iOS वर काम करते का? होय, पण एका फरकसह. Apple चे App Tracking Transparency फ्रेमवर्क सर्व्हर-साइड OAuth फ्लोवर परिणाम करत नाही. iOS वरील Safari मधील WeChat लॉगिन QR कोड फ्लो किंवा रिडायरेक्ट फ्लोद्वारे काम करते. WeChat ॲप स्वतः ऑथेंटिकेशन हाताळते. प्रश्न: जर WeChat चे API अनुपलब्ध असेल तर काय होईल? तुमच्या पोर्टलने फॉलबॅक इम्प्लीमेंट केला पाहिजे. जर WeChat API कॉल टाईम आऊट झाला किंवा एरर आला, तर युझरला पर्यायी लॉगिन पद्धतीवर रिडायरेक्ट करा. त्यांना रिकाम्या स्क्रीनवर सोडू नका. प्रश्न: मी OpenID चा वापर कायमस्वरूपी ग्राहक आयडेंटिफायर म्हणून करू शकतो का? तुमच्या Official Account मध्ये, होय. दिलेल्या युझरसाठी आणि दिलेल्या Official Account साठी OpenID स्थिर असतो. जर तुमच्याकडे एकापेक्षा जास्त Official Accounts असतील, तर त्याच युझरचे वेगवेगळ्या अकाउंट्समध्ये वेगवेगळे OpenIDs असतील. क्रॉस-अकाउंट ओळख रिझोल्यूशनसाठी, WeChat एक UnionID प्रदान करते, ज्यासाठी तुमचे अकाउंट्स Open Platform वर लिंक असणे आवश्यक आहे. --- सारांश आणि पुढील पायऱ्या (अंदाजे १ मिनिट) थोडक्यात सांगायचे तर. captive portals साठी WeChat OAuth ऑथेंटिकेशन हा दोन-प्लॅटफॉर्म रजिस्ट्रेशनचा सराव, स्कोपचा निर्णय, नेटवर्क एन्फोर्समेंट इंटिग्रेशन आणि अनुपालन पुनरावलोकन आहे. या चार गोष्टी योग्य करा आणि तुमच्याकडे अशी लॉगिन पद्धत असेल जी शून्य पासवर्ड अडथळ्यासह अब्जावधी संभाव्य अभ्यागतांना सेवा देते. पुढील व्यावहारिक पायऱ्या या आहेत. पहिले, तुमचे अभ्यागत WeChat इन-ॲप ब्राउझरमध्ये पोर्टलवर येतात की स्टँडर्ड मोबाईल ब्राउझरमध्ये - हे ठरवते की तुम्हाला कोणत्या प्लॅटफॉर्म रजिस्ट्रेशनची आवश्यकता आहे. दुसरे, स्कोप ठरवा - परत येणाऱ्या पाहुण्यांसाठी `snsapi_base`, संमतीसह पहिल्यांदा रजिस्ट्रेशन करण्यासाठी `snsapi_userinfo`. तिसरे, तुमचे नेटवर्क हार्डवेअर RADIUS CoA ला सपोर्ट करत असल्याची खात्री करा किंवा पर्याय म्हणून MAC बायपास कॉन्फिगर करा. चौथे, GDPR आणि PIPL आवश्यकतांनुसार तुमच्या प्रायव्हसी नोटीस आणि संमती फ्लोचे पुनरावलोकन करा. पाचवे, तुम्ही लाईव्ह जाण्यापूर्वी रिडायरेक्ट URI, स्टेट पॅरामीटर व्हॅलिडेशन आणि इन-ॲप ब्राउझर डिटेक्शनची चाचणी घ्या. जर तुम्हाला पाहायचे असेल की Purple एका व्यापक Guest WiFi आणि ॲनालिटिक्स प्लॅटफॉर्मचा भाग म्हणून WeChat OAuth कसे हाताळते - २०२४ मधील ८०,००० व्हेन्यूज आणि ४४ कोटी लॉगिनमध्ये - तर purple.ai ला भेट द्या किंवा तुमच्या अकाउंट टीमशी बोला. ऐकल्याबद्दल धन्यवाद. --- स्क्रिप्ट समाप्त

header_image.png

执行摘要

当中国访客连接到您的 WiFi 时,如果登录页面仅提供电子邮件或 Facebook 登录,会立即产生使用阻碍。微信拥有 13.8 亿月活跃用户,将其配置为身份提供商可以消除这一障碍。本指南将阐述如何为 Captive Portal 实现微信 OAuth 2.0 认证,详细介绍必要的平台注册、OAuth 流程以及将成功登录转化为网络访问所需的网络强制执行机制。我们将涵盖企业级硬件的技术实现,以及 GDPR 和《个人信息保护法》(PIPL)下的合规要求。

技术架构

Captive Portal 会拦截来自未认证设备的 HTTP 流量,并将其重定向到托管在门户服务器上的登录页面。当您集成微信 OAuth 时,即是在此流程中插入了一个第三方身份提供商。

architecture_overview.png

具体交互步骤如下:

  1. 访客连接到 SSID。
  2. 无线接入点(AP)或无线控制器检测到缺乏已认证的会话,并将 HTTP 流量重定向到 Captive Portal URL。
  3. 访客选择微信登录。
  4. 门户服务器将浏览器重定向到微信的授权端点(open.weixin.qq.com),并传递 AppIDredirect_uriresponse_type=codescope
  5. 微信处理身份验证。如果访客在微信内置浏览器中使用 snsapi_base 作用域,此过程将静默进行。
  6. 微信携带临时授权码重定向回门户的 redirect_uri
  7. 门户服务器通过调用 api.weixin.qq.com/sns/oauth2/access_token,用该授权码换取访问令牌。
  8. 微信返回 access_tokenrefresh_token 以及用户的 openid

平台注册要求

实现微信登录需要在正确的开发者平台上进行注册。微信运营着两个不同的平台,选择错误的平台会导致集成失败。

微信公众平台

对于在微信内置浏览器中为访客提供服务的 Captive Portal,您需要在微信公众平台(mp.weixin.qq.com)上注册一个服务号。订阅号缺少必要的 OAuth 网页授权权限。服务号同时支持 snsapi_basesnsapi_userinfo 作用域。

微信开放平台

对于从微信外部的标准移动浏览器(例如 Android 上的 Chrome 或 iOS 上的 Safari)访问的 Captive Portal,您需要一个在开放平台(open.weixin.qq.com)注册的网站应用。这使用 snsapi_login 作用域,并呈现一个供用户使用其微信应用扫描的二维码。

大多数企业部署都需要进行这两种注册,以覆盖所有访问方式。

作用域选择与数据收集

作用域参数决定了微信返回给您门户服务器的数据。这一决定会同时影响用户摩擦和数据隐私合规性。

scope_comparison_chart.png

snsapi_base

此作用域仅返回 OpenID,即您公众号内用户的唯一标识符。它不需要用户授权提示,从而使身份验证对用户无感。这对于您已拥有其个人资料的回访访客,或者对于将零摩擦置于新数据收集之上的场所来说是最佳选择。

snsapi_userinfo

此作用域返回 OpenID 以及用户的微信昵称、头像、性别、语言设置和城市。它需要一个明确的授权页面,从而引入了摩擦。在需要建立个人资料的首次访客注册中,请使用此作用域,并配合符合 GDPR 的授权层。

网络强制执行集成

获取 OAuth 令牌可以证明身份,但它并不能打开网络。您必须使用标准协议将成功的身份验证转化为网络访问。

RADIUS 授权变更 (CoA)

在 IEEE 802.1X 和 RFC 3576 中定义的 RADIUS CoA 允许门户服务器在 OAuth 成功后向网络控制器发送请求。然后,控制器将设备从未经身份验证的 VLAN 移动到访客 VLAN。这是包括 Cisco Meraki、HPE Aruba、Ruckus 和 Juniper Mist 在内的企业级硬件的标准配置。

MAC 地址旁路

或者,门户服务器将设备的 MAC 地址注册为已授权客户端,然后控制器允许其访问。虽然实现起来更简单,但由于 MAC 地址可以被伪造,因此安全性较低。

Purple 的云覆盖技术可自动完成此转换,在微信 OAuth 完成后向底层硬件(包括 Ubiquiti UniFi、Cambium、Extreme 和 Fortinet)发送相应的信号。

合规与安全考量

GDPR 与 PIPL 对齐

如果您为欧洲访客提供服务,GDPR 适用于通过微信 OAuth 收集的数据。如果您为中国访客提供服务,则适用中国《个人信息保护法》(PIPL)。这两个框架都要求处理具有合法基础、明确的目的限制和数据最小化。相比 snsapi_userinfosnsapi_base 作用域更容易符合数据最小化原则。

CSRF 防护

OAuth 请求中的 state 参数可防止跨站请求伪造。您必须生成一个加密随机的 state 值,将其存储在用户会话中,并在微信重定向返回时对其进行验证。

重定向 URI 验证

微信会根据在平台上注册的授权域名验证 redirect_uri。如果您的门户服务器使用不同的子域名、路径或使用 HTTP 代替 HTTPS,则 OAuth 流程将失败并报错 40029。

有关保护网络的更多信息,请参阅我们的 Enterprise WiFi Security: A Complete Guide for 2026

महत्वाच्या व्याख्या

snsapi_base

एक WeChat OAuth स्कोप जो संमतीची (consent) सूचना न दाखवता केवळ युझरचा OpenID परत करतो.

जेव्हा IT टीम्सना लॉगिनचा कोणताही अडथळा न आणता परत येणाऱ्या अभ्यागतांना सायलेंटली ऑथेंटिकेट करावे लागते तेव्हा वापरले जाते.

snsapi_userinfo

एक WeChat OAuth स्कोप जो OpenID सोबत डेमोग्राफिक डेटा (टोपणनाव, लिंग, शहर) परत करतो आणि यासाठी युझरच्या स्पष्ट संमतीची आवश्यकता असते.

पहिल्यांदा रजिस्ट्रेशन करताना वापरले जाते जेव्हा मार्केटिंग टीम्सना अभ्यागताचे प्रोफाइल तयार करावे लागते.

OpenID

विशिष्ट WeChat Official Account मधील विशिष्ट युझरसाठी एक युनिक आयडेंटिफायर.

अभ्यागतांच्या वर्तनाचा आणि परत येणाऱ्या भेटींचा मागोवा घेण्यासाठी पोर्टल डेटाबेसमध्ये प्रायमरी की म्हणून वापरले जाते.

RADIUS CoA

Change of Authorisation. RFC 3576 मध्ये परिभाषित केलेले एक मेकॅनिझम जे सर्व्हरला ॲक्टिव्ह सेशनची ऑथरायझेशन स्थिती सुधारण्याची परवानगी देते.

यशस्वी WeChat ऑथेंटिकेशननंतर वायरलेस कंट्रोलरला नेटवर्क ॲक्सेस देण्यास सांगण्यासाठी पोर्टल सर्व्हरद्वारे वापरले जाते.

PIPL

Personal Information Protection Law. चीनचे सर्वसमावेशक डेटा प्रायव्हसी नियमन.

WeChat लॉगिन वापरणाऱ्या चिनी अभ्यागतांसाठी संमती फ्लो (consent flow) डिझाइन करताना GDPR सोबत याचा विचार केला पाहिजे.

AppID and AppSecret

तुमचे ॲप्लिकेशन ओळखण्यासाठी आणि ऑथेंटिकेट करण्यासाठी WeChat द्वारे प्रदान केलेली क्रेडेंशियल्स.

AppSecret पोर्टल सर्व्हरवर सुरक्षित राहिले पाहिजे आणि क्लायंट-साइड कोडमध्ये कधीही उघड केले जाऊ नये.

State Parameter

OAuth विनंतीमध्ये पाठवलेली आणि परत आल्यावर व्हॅलिडेट केलेली एक क्रिप्टोग्राफिकली रँडम स्ट्रिंग.

captive portal वरील Cross-Site Request Forgery (CSRF) हल्ले रोखण्यासाठी आवश्यक.

MAC Address Bypass

802.1X ऑथेंटिकेशनची आवश्यकता असण्याऐवजी डिव्हाइसच्या हार्डवेअर ॲड्रेसला ऑथराइज करून नेटवर्क ॲक्सेस देण्याची एक पद्धत.

सोप्या नेटवर्क सेटअपसाठी RADIUS CoA चा एक पर्याय, जरी तो कमी सुरक्षित असला तरी.

सोडवलेली उदाहरणे

लंडनमधील एका लक्झरी रिटेल ब्रँडला चिनी खरेदीदारांसाठी WeChat लॉगिन ऑफर करायचे आहे. त्यांना त्यांच्या ग्राहक वर्गाला समजून घेण्यासाठी डेमोग्राफिक डेटा गोळा करायचा आहे, परंतु त्यांना GDPR अनुपालन आणि पोर्टलवरील हाय ड्रॉप-ऑफ रेट्सबद्दल काळजी वाटत आहे.

रिटेलरने WeChat Official Accounts Platform वर Service Account रजिस्टर करावा. त्यांनी डेमोग्राफिक डेटा (टोपणनाव, लिंग, शहर) गोळा करण्यासाठी पहिल्यांदा कनेक्ट होणाऱ्यांसाठी snsapi_userinfo स्कोप वापरण्यासाठी पोर्टल कॉन्फिगर केले पाहिजे. GDPR अनुपालन सुनिश्चित करण्यासाठी, WeChat रिडायरेक्ट करण्यापूर्वी पोर्टल पेजवर एक स्पष्ट, जाणीवपूर्वक निवडलेला ऑप्ट-इन पर्याय दर्शविला पाहिजे, ज्यामध्ये कोणता डेटा गोळा केला जात आहे आणि का, हे स्पष्ट केले पाहिजे. परत येणाऱ्या खरेदीदारांसाठी, पोर्टलने MAC ॲड्रेस शोधला पाहिजे आणि सायलेंट री-ऑथेंटिकेशनसाठी snsapi_base चा वापर केला पाहिजे, ज्यामुळे अडथळे कमी होतील.

परीक्षकाचे भाष्य: हा दृष्टिकोन डेटा संकलन आणि युझर एक्सपिरियन्स यामध्ये समतोल राखतो. पहिल्या भेटीसाठी जास्त अडथळे असणारा `snsapi_userinfo` फ्लो मर्यादित करून आणि त्यानंतर `snsapi_base` वापरून, रिटेलर डेटा मिनिमायझेशन तत्त्वांचे पालन करत असतानाच कन्व्हर्जन जास्तीत जास्त वाढवतो.

एक स्टेडियम HPE Aruba कंट्रोलर्स वापरून नवीन WiFi नेटवर्क तैनात करत आहे. त्यांनी WeChat OAuth कॉन्फिगर केले आहे, आणि पोर्टलला यशस्वीरित्या ॲक्सेस टोकन मिळाले आहे, परंतु अभ्यागताचे डिव्हाइस captive portal पेजवरच राहते आणि इंटरनेट ॲक्सेस करू शकत नाही.

या इंटिग्रेशनमध्ये नेटवर्क एन्फोर्समेंट मेकॅनिझमची कमतरता आहे. पोर्टल सर्व्हरने WeChat सह युझरची ओळख पडताळली आहे, परंतु त्याने HPE Aruba कंट्रोलरला ॲक्सेस देण्याची सूचना केलेली नाही. पोर्टल सर्व्हरला कंट्रोलरला RADIUS Change of Authorisation (CoA) मेसेज पाठवण्यासाठी कॉन्फिगर केले पाहिजे, ज्यामध्ये युझरचा MAC ॲड्रेस प्री-ऑथेंटिकेशन रोलमधून ऑथेंटिकेटेड गेस्ट रोलमध्ये बदलण्याची सूचना असेल.

परीक्षकाचे भाष्य: हे ओळख पडताळणी (identity verification) आणि नेटवर्क ॲक्सेस कंट्रोलमधील फरक अधोरेखित करते. वेब ॲप्लिकेशन (पोर्टल) आणि नेटवर्क इन्फ्रास्ट्रक्चरमधील अंतर भरून काढण्यासाठी एंटरप्राइझ नेटवर्कला RADIUS CoA सारख्या प्रोटोकॉलची आवश्यकता असते.

सराव प्रश्न

Q1. तुम्ही एका रिटेल चेनमध्ये captive portal तैनात करत आहात. चाचणीवरून असे दिसून आले आहे की iOS वरील Safari मध्ये पोर्टल उघडणाऱ्या युझर्सना WeChat लॉगिन निवडताना एरर येतो, परंतु WeChat मेसेज लिंकवरून पोर्टल उघडणारे युझर्स यशस्वीरित्या ऑथेंटिकेट होतात. याचे संभाव्य कारण काय आहे?

टीप: WeChat इन-ॲप ब्राउझर आणि स्टँडर्ड मोबाईल ब्राउझरमधील फरकाचा विचार करा.

नमुना उत्तर पहा

हे इम्प्लीमेंटेशन बहुधा केवळ Official Accounts Platform वर रजिस्टर केलेल्या Service Account वर अवलंबून आहे, जे केवळ WeChat इन-ॲप ब्राउझरमध्येच OAuth ला सपोर्ट करते. iOS वरील Safari ला सपोर्ट करण्यासाठी, तुम्ही WeChat Open Platform वर Website Application देखील रजिस्टर केले पाहिजे आणि Safari युझर्सना QR कोड फ्लोकडे मार्गस्थ करण्यासाठी युझर एजंट डिटेक्शन इम्प्लीमेंट केले पाहिजे.

Q2. तुमच्या पोर्टल सर्व्हर लॉग्समध्ये ॲक्सेस टोकन एक्सचेंज दरम्यान WeChat API कडून वारंवार 40029 'invalid code' एरर येत असल्याचे दिसत आहे. तुम्ही प्रथम कोणते कॉन्फिगरेशन तपासले पाहिजे?

टीप: WeChat ऑथेंटिकेशन विनंतीच्या स्रोताची पडताळणी कशी करते याचा विचार करा.

नमुना उत्तर पहा

तुम्ही redirect_uri कॉन्फिगरेशनची पडताळणी केली पाहिजे. WeChat डेव्हलपर कन्सोलमध्ये रजिस्टर केलेल्या ऑथराइज्ड डोमेनशी रिडायरेक्ट URI ची काटेकोरपणे पडताळणी करते. जर पोर्टल वेगळा सबडोमेन वापरत असेल, किंवा ते HTTPS वापरत नसेल, तर WeChat कोड एक्सचेंज नाकारेल.

Q3. एका व्हेन्यू ऑपरेटरला अभ्यागतांचा डेटा गोळा करायचा आहे परंतु लॉगिन प्रक्रियेदरम्यान कोणताही अडथळा नको आहे. ते तुम्हाला संमतीची सूचना न दाखवता अभ्यागताचे टोपणनाव आणि शहर गोळा करण्यासाठी WeChat लॉगिन कॉन्फिगर करण्याची विनंती करतात. तुम्ही काय उत्तर द्याल?

टीप: विविध OAuth स्कोप्सच्या क्षमतेचे पुनरावलोकन करा.

नमुना उत्तर पहा

तुम्ही ऑपरेटरला कळवले पाहिजे की हे तांत्रिकदृष्ट्या अशक्य आहे. टोपणनाव आणि शहरासारखा डेमोग्राफिक डेटा गोळा करण्यासाठी snsapi_userinfo स्कोप आवश्यक आहे, जो अनिवार्यपणे WeChat संमतीची सूचना ट्रिगर करतो. शून्य अडथळा मिळवण्यासाठी, तुम्ही snsapi_base वापरणे आवश्यक आहे, जे सायलेंटली काम करते परंतु केवळ OpenID परत करते.

या मालिकेमध्ये पुढे वाचा

B2B Captive Portals डिझाइन करणे: नोंदणीकृत नाव आणि कंपनी डेटा गोळा करणे

हे मार्गदर्शक IT व्यवस्थापक आणि वेन्यू ऑपरेटर्सना B2B captive portals डिझाइन करण्यासाठी विक्रेता-तटस्थ तांत्रिक फ्रेमवर्क प्रदान करते. यामध्ये नोंदणीकृत नाव आणि कंपनी डेटा मिळवण्यासाठी नोंदणी फील्ड्सची रचना कशी करावी, GDPR चे पालन राखून आणि खाते-स्तरीय बुद्धिमत्ता तयार करून उच्च पूर्णत्व दर सुनिश्चित करणे याबद्दल सविस्तर माहिती दिली आहे.

मार्गदर्शिका वाचा →

Captive Portal आर्किटेक्चर: सुरक्षा, पुनर्निर्देशन (Redirection), आणि सर्वोत्तम पद्धती

एंटरप्राइझ captive portal आर्किटेक्चरवरील एक निश्चित तांत्रिक संदर्भ. हे मार्गदर्शक सुरक्षित, डेटा-समृद्ध गेस्ट WiFi नेटवर्क्स तैनात करणाऱ्या IT लीडर्ससाठी नेटवर्क आयसोलेशन, DNS पुनर्निर्देशन, RADIUS प्रमाणीकरण आणि सुरक्षा अनुपालनाचा खुलासा करते.

मार्गदर्शिका वाचा →

B2B Captive Portals ऑप्टिमाइझ करणे: कंपनीची नावे आणि व्यावसायिक डेटा संकलित करणे

ही मार्गदर्शिका स्पष्ट करते की IT व्यवस्थापक, नेटवर्क आर्किटेक्ट्स आणि वेन्यू ऑपरेशन्स डायरेक्टर्स WiFi लॉगिनच्या वेळी व्यावसायिक डेटा - कंपन्यांची नावे, जॉब टायटल्स आणि व्यावसायिक ईमेल पत्ते संकलित करण्यासाठी B2B captive portals कसे कॉन्फिगर करू शकतात. यामध्ये VLAN आयसोलेशन आणि RADIUS ऑथेंटिकेशनपासून ते Salesforce आणि HubSpot सोबत CRM इंटिग्रेशनपर्यंतच्या संपूर्ण तांत्रिक आर्किटेक्चरचा समावेश आहे, ज्यामध्ये GDPR आणि CCPA अनुपालन आधीपासूनच समाविष्ट आहे. जे वेन्यू हे योग्यरित्या तैनात करतात ते त्यांच्या गेस्ट WiFi नेटवर्कचे रूपांतर फर्स्ट-पार्टी डेटा इंजिन आणि ऑटोमेटेड लीड जनरेशन सिस्टीममध्ये करतात.

मार्गदर्शिका वाचा →