Captive Portals-এর জন্য WeChat OAuth অথেন্টিকেশন কীভাবে কনফিগার করবেন
এই টেকনিক্যাল গাইডটিতে captive portals-এর জন্য WeChat OAuth অথেন্টিকেশন কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। এতে চীনা ভিজিটরদের কাছ থেকে নিরাপদে ফার্স্ট-পার্টি ডেটা সংগ্রহ করার জন্য প্রয়োজনীয় প্ল্যাটফর্ম রেজিস্ট্রেশন, OAuth 2.0 ফ্লো, স্কোপ সিলেকশন এবং নেটওয়ার্ক এনফোর্সমেন্ট মেকানিজম বিস্তারিতভাবে আলোচনা করা হয়েছে।
এই গাইডটি শুনুন
পডকাস্ট ট্রান্সক্রিপ্ট দেখুন
- এক্সিকিউটিভ সামারি
- টেকনিক্যাল আর্কিটেকচার
- প্ল্যাটফর্ম রেজিস্ট্রেশনের প্রয়োজনীয়তা
- WeChat অফিসিয়াল অ্যাকাউন্টস প্ল্যাটফর্ম
- WeChat ওপেন প্ল্যাটফর্ম
- স্কোপ সিলেকশন এবং ডেটা সংগ্রহ
- snsapi_base
- snsapi_userinfo
- নেটওয়ার্ক এনফোর্সমেন্ট ইন্টিগ্রেশন
- RADIUS চেঞ্জ অফ অথরাইজেশন (CoA)
- MAC অ্যাড্রেস বাইপাস
- কমপ্লায়েন্স এবং সিকিউরিটি সংক্রান্ত বিষয়সমূহ
- GDPR এবং PIPL অ্যালাইনমেন্ট
- CSRF প্রোটেকশন
- Redirect URI যাচাইকরণ

এক্সিকিউটিভ সামারি
যখন চীনা ভিজিটররা আপনার WiFi-এর সাথে সংযুক্ত হন, তখন শুধুমাত্র ইমেল বা Facebook সহ একটি লগইন পেজ প্রদর্শন করা তাৎক্ষণিক বাধা সৃষ্টি করে। WeChat-এর ১.৩৮ বিলিয়ন মাসিক সক্রিয় ব্যবহারকারী রয়েছে এবং এটিকে একটি আইডেন্টিটি প্রোভাইডার হিসেবে কনফিগার করলে এই বাধা দূর হয়। এই গাইডটিতে captive portals-এর জন্য WeChat OAuth 2.0 অথেন্টিকেশন কীভাবে প্রয়োগ করতে হয় তা ব্যাখ্যা করা হয়েছে, যেখানে একটি সফল লগইনকে নেটওয়ার্ক অ্যাক্সেসে রূপান্তর করার জন্য প্রয়োজনীয় প্ল্যাটফর্ম রেজিস্ট্রেশন, OAuth ফ্লো এবং নেটওয়ার্ক এনফোর্সমেন্ট মেকানিজম বিস্তারিতভাবে বর্ণনা করা হয়েছে। আমরা এন্টারপ্রাইজ হার্ডওয়্যার জুড়ে টেকনিক্যাল ইমপ্লিমেন্টেশন এবং GDPR ও PIPL-এর অধীনে কমপ্লায়েন্সের প্রয়োজনীয়তাগুলো কভার করেছি।
টেকনিক্যাল আর্কিটেকচার
একটি captive portal একটি আনঅথেন্টিকেটেড ডিভাইস থেকে আসা HTTP ট্রাফিককে ইন্টারসেপ্ট করে এবং এটিকে একটি পোর্টাল সার্ভারে হোস্ট করা লগইন পেজে রিডাইরেক্ট করে। আপনি যখন WeChat OAuth ইন্টিগ্রেট করেন, তখন আপনি এই ফ্লোতে একটি থার্ড-পার্টি আইডেন্টিটি প্রোভাইডার যুক্ত করেন।

সিকোয়েন্সটি নিম্নরূপ কাজ করে:
১. ভিজিটর SSID-এর সাথে সংযুক্ত হন।
২. অ্যাক্সেস পয়েন্ট বা ওয়্যারলেস কন্ট্রোলার একটি অথেন্টিকেটেড সেশনের অনুপস্থিতি সনাক্ত করে এবং HTTP ট্রাফিককে captive portal URL-এ রিডাইরেক্ট করে।
৩. ভিজিটর WeChat লগইন নির্বাচন করেন।
৪. পোর্টাল সার্ভার ব্রাউজারটিকে WeChat-এর অথরাইজেশন এন্ডপয়েন্টে (open.weixin.qq.com) রিডাইরেক্ট করে, যেখানে AppID, redirect_uri, response_type=code এবং scope পাস করা হয়।
৫. WeChat অথেন্টিকেশন পরিচালনা করে। ভিজিটর যদি snsapi_base স্কোপ সহ WeChat ইন-অ্যাপ ব্রাউজার ব্যবহার করেন, তবে এটি নীরবেই ঘটে।
৬. WeChat একটি অস্থায়ী অথরাইজেশন কোড সহ পোর্টালের redirect_uri-তে রিডাইরেক্ট করে।
৭. পোর্টাল সার্ভার api.weixin.qq.com/sns/oauth2/access_token কল করে এই কোডটি একটি অ্যাক্সেস টোকেনের সাথে বিনিময় করে।
৮. WeChat একটি access_token, refresh_token এবং ব্যবহারকারীর openid রিটার্ন করে।
প্ল্যাটফর্ম রেজিস্ট্রেশনের প্রয়োজনীয়তা
WeChat লগইন বাস্তবায়নের জন্য সঠিক ডেভেলপার প্ল্যাটফর্মে রেজিস্ট্রেশন করা প্রয়োজন। WeChat দুটি ভিন্ন প্ল্যাটফর্ম পরিচালনা করে এবং ভুলটি নির্বাচন করলে ইন্টিগ্রেশন ব্যর্থ হবে।
WeChat অফিসিয়াল অ্যাকাউন্টস প্ল্যাটফর্ম
WeChat ইন-অ্যাপ ব্রাউজারের ভেতরে ভিজিটরদের সেবা প্রদানকারী একটি captive portal-এর জন্য, আপনার অফিসিয়াল অ্যাকাউন্টস প্ল্যাটফর্মে (mp.weixin.qq.com) একটি সার্ভিস অ্যাকাউন্ট প্রয়োজন। একটি সাবস্ক্রিপশন অ্যাকাউন্টে প্রয়োজনীয় OAuth ওয়েব পেজ অথরাইজেশন পারমিশন থাকে না। একটি সার্ভিস অ্যাকাউন্ট snsapi_base এবং snsapi_userinfo উভয় স্কোপই সমর্থন করে।
WeChat ওপেন প্ল্যাটফর্ম
WeChat-এর বাইরে একটি স্ট্যান্ডার্ড মোবাইল ব্রাউজার (যেমন Android-এ Chrome বা iOS-এ Safari) থেকে অ্যাক্সেস করা captive portal-এর জন্য, আপনার ওপেন প্ল্যাটফর্মে (open.weixin.qq.com) রেজিস্টার করা একটি ওয়েবসাইট অ্যাপ্লিকেশন প্রয়োজন। এটি snsapi_login স্কোপ ব্যবহার করে এবং একটি QR কোড প্রদর্শন করে যা ব্যবহারকারী তাদের WeChat অ্যাপ দিয়ে স্ক্যান করেন।
সবচেয়ে বেশি এন্টারপ্রাইজ ডেপ্লয়মেন্টে সমস্ত অ্যাক্সেস পদ্ধতি কভার করার জন্য উভয় রেজিস্ট্রেশনেরই প্রয়োজন হয়।
স্কোপ সিলেকশন এবং ডেটা সংগ্রহ
স্কোপ প্যারামিটারটি নির্ধারণ করে যে WeChat আপনার পোর্টাল সার্ভারে কী ডেটা রিটার্ন করবে। এই সিদ্ধান্তটি ব্যবহারকারীর বাধা এবং ডেটা গোপনীয়তা কমপ্লায়েন্স উভয়ের উপরই প্রভাব ফেলে।

snsapi_base
এই স্কোপটি শুধুমাত্র OpenID রিটার্ন করে, যা আপনার অফিসিয়াল অ্যাকাউন্টের মধ্যে ব্যবহারকারীর জন্য একটি অনন্য আইডেন্টিফায়ার। এর জন্য কোনো ব্যবহারকারীর সম্মতির প্রম্পটের প্রয়োজন হয় না, যা অথেন্টিকেশনকে ব্যবহারকারীর কাছে অদৃশ্য করে তোলে। এটি ফিরে আসা ভিজিটরদের জন্য সর্বোত্তম যাদের প্রোফাইল আপনার কাছে ইতিমধ্যে রয়েছে, অথবা এমন ভেন্যুগুলোর জন্য যা নতুন ডেটা সংগ্রহের চেয়ে শূন্য বাধাকে অগ্রাধিকার দেয়।
snsapi_userinfo
এই স্কোপটি OpenID-এর পাশাপাশি ব্যবহারকারীর WeChat ডাকনাম, প্রোফাইল ছবি, লিঙ্গ, ভাষা সেটিং এবং শহর রিটার্ন করে। এর জন্য একটি স্পষ্ট সম্মতি স্ক্রিনের প্রয়োজন হয়, যা বাধা সৃষ্টি করে। প্রথমবার আসা ভিজিটরদের রেজিস্ট্রেশনের জন্য এটি ব্যবহার করুন যেখানে একটি প্রোফাইল তৈরি করা প্রয়োজন, এবং এটি একটি 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-এর ক্লাউড ওভারলে এই রূপান্তরটিকে স্বয়ংক্রিয় করে, একবার WeChat OAuth সম্পন্ন হলে অন্তর্নিহিত হার্ডওয়্যারে (Ubiquiti UniFi, Cambium, Extreme এবং Fortinet সহ) উপযুক্ত সংকেত পাঠায়।
কমপ্লায়েন্স এবং সিকিউরিটি সংক্রান্ত বিষয়সমূহ
GDPR এবং PIPL অ্যালাইনমেন্ট
আপনি যদি ইউরোপীয় ভিজিটরদের সেবা দেন, তবে WeChat OAuth-এর মাধ্যমে সংগৃহীত ডেটার ক্ষেত্রে GDPR প্রযোজ্য হবে। আপনি যদি চীনা ভিজিটরদের সেবা দেন, তবে চীনের পার্সোনাল ইনফরমেশন প্রোটেকশন ল (PIPL) প্রযোজ্য হবে। উভয় ফ্রেমওয়ার্কেরই প্রক্রিয়াকরণের জন্য একটি বৈধ ভিত্তি, স্পষ্ট উদ্দেশ্যের সীমাবদ্ধতা এবং ডেটা মিনিমাইজেশন প্রয়োজন। snsapi_base স্কোপটি snsapi_userinfo-এর চেয়ে ডেটা মিনিমাইজেশনের নীতিগুলোর সাথে আরও সহজে সামঞ্জস্যপূর্ণ হয়।
CSRF প্রোটেকশন
OAuth অনুরোধে থাকা state প্যারামিটারটি প্রতিরোধcross-site request forgery প্রতিরোধ করে। আপনাকে একটি ক্রিপ্টোগ্রাফিকভাবে র্যান্ডম স্টেট ভ্যালু তৈরি করতে হবে, এটি ব্যবহারকারীর সেশনে সংরক্ষণ করতে হবে এবং WeChat রিডাইরেক্ট করার সময় এটি যাচাই করতে হবে।
Redirect URI যাচাইকরণ
WeChat প্ল্যাটফর্মে নিবন্ধিত অনুমোদিত ডোমেনের বিপরীতে redirect_uri যাচাই করে। যদি আপনার পোর্টাল সার্ভার কোনো ভিন্ন সাবডোমেন, পাথ বা HTTPS-এর পরিবর্তে HTTP ব্যবহার করে, তবে OAuth ফ্লোটি 40029 এরর সহ ব্যর্থ হবে।
আপনার নেটওয়ার্ক সুরক্ষিত করার বিষয়ে আরও তথ্যের জন্য, আমাদের Enterprise WiFi সিকিউরিটি: ২০২৬ সালের একটি সম্পূর্ণ নির্দেশিকা দেখুন।
মূল সংজ্ঞাসমূহ
snsapi_base
A WeChat OAuth scope that returns only the user's OpenID without displaying a consent prompt.
Used when IT teams need to authenticate returning visitors silently without causing login friction.
snsapi_userinfo
A WeChat OAuth scope that returns the OpenID along with demographic data (nickname, gender, city) and requires explicit user consent.
Used during first-time registration when marketing teams need to build a visitor profile.
OpenID
A unique identifier for a specific user within a specific WeChat Official Account.
Used as the primary key in the portal database to track visitor behaviour and return visits.
RADIUS CoA
Change of Authorisation. A mechanism defined in RFC 3576 that allows a server to modify the authorisation state of an active session.
Used by the portal server to tell the wireless controller to grant network access after successful WeChat authentication.
PIPL
Personal Information Protection Law. China's comprehensive data privacy regulation.
Must be considered alongside GDPR when designing the consent flow for Chinese visitors using WeChat login.
AppID and AppSecret
The credentials provided by WeChat to identify and authenticate your application.
The AppSecret must remain securely on the portal server and never be exposed in client-side code.
State Parameter
A cryptographically random string passed in the OAuth request and validated upon return.
Essential for preventing Cross-Site Request Forgery (CSRF) attacks on the captive portal.
MAC Address Bypass
A method of granting network access by authorising the device's hardware address rather than requiring 802.1X authentication.
An alternative to RADIUS CoA for simpler network setups, though less secure.
সমাধানকৃত উদাহরণসমূহ
A luxury retail brand in London wants to offer WeChat login for Chinese shoppers. They want to collect demographic data to understand their customer base, but they are concerned about GDPR compliance and high drop-off rates at the portal.
The retailer should register a Service Account on the WeChat Official Accounts Platform. They must configure the portal to use the snsapi_userinfo scope for first-time connections to gather demographic data (nickname, gender, city). To ensure GDPR compliance, the portal page must display a clear, conscious-choice opt-in before the WeChat redirect, explaining exactly what data is collected and why. For returning shoppers, the portal should detect the MAC address and use snsapi_base for silent re-authentication, minimising friction.
A stadium deploys a new WiFi network using HPE Aruba controllers. They have configured WeChat OAuth, and the portal successfully receives the access token, but the visitor's device remains on the captive portal page and cannot access the internet.
The integration lacks a network enforcement mechanism. The portal server has verified the user's identity with WeChat, but it has not instructed the HPE Aruba controller to grant access. The portal server must be configured to send a RADIUS Change of Authorisation (CoA) message to the controller, instructing it to transition the user's MAC address from the pre-authentication role to the authenticated guest role.
অনুশীলনী প্রশ্নসমূহ
Q1. You are deploying a captive portal across a retail chain. Testing shows that users opening the portal in Safari on iOS receive an error when selecting WeChat login, but users opening the portal from within a WeChat message link authenticate successfully. What is the likely cause?
ইঙ্গিত: Consider the difference between the WeChat in-app browser and standard mobile browsers.
মডেল উত্তর দেখুন
The implementation is likely relying solely on a Service Account registered on the Official Accounts Platform, which only supports OAuth within the WeChat in-app browser. To support Safari on iOS, you must also register a Website Application on the WeChat Open Platform and implement user agent detection to route Safari users to the QR code flow.
Q2. Your portal server logs show frequent 40029 'invalid code' errors returning from the WeChat API during the access token exchange. What configuration should you check first?
ইঙ্গিত: Think about how WeChat validates the source of the authentication request.
মডেল উত্তর দেখুন
You should verify the redirect_uri configuration. WeChat strictly validates the redirect URI against the authorised domain registered in the developer console. If the portal is using a different subdomain, or if it drops HTTPS, WeChat will reject the code exchange.
Q3. A venue operator wants to collect visitor data but insists on zero friction during the login process. They request that you configure WeChat login to collect the visitor's nickname and city without showing a consent prompt. How do you respond?
ইঙ্গিত: Review the capabilities of the different OAuth scopes.
মডেল উত্তর দেখুন
You must inform the operator that this is technically impossible. Collecting demographic data like nickname and city requires the snsapi_userinfo scope, which mandatorily triggers a WeChat consent prompt. To achieve zero friction, you must use snsapi_base, which operates silently but only returns the OpenID.
এই সিরিজে পড়া চালিয়ে যান
WiFi GDPR Compliance: Captive Portals-এর মাধ্যমে কীভাবে নিরাপদে গেস্ট ডেটা সংগ্রহ করবেন
এই টেকনিক্যাল গাইডটি IT ম্যানেজার, নেটওয়ার্ক আর্কিটেক্ট এবং ভেন্যু অপারেশন ডিরেক্টরদের গেস্ট WiFi ডেপ্লয়মেন্ট জুড়ে GDPR কমপ্লায়েন্স অর্জনের জন্য একটি ব্যবহারিক ফ্রেমওয়ার্ক প্রদান করে। এতে আলোচনা করা হয়েছে কীভাবে captive portals ব্যক্তিগত ডেটা সংগ্রহ করে, কীভাবে সুনির্দিষ্ট সম্মতি সুরক্ষিত করা যায় এবং কীভাবে স্বয়ংক্রিয় ডেটা রিটেনশন পলিসি প্রয়োগ করা যায় যা আপনার সংস্থাকে বিশ্বব্যাপী টার্নওভারের ৪% পর্যন্ত নিয়ন্ত্রক জরিমানা থেকে রক্ষা করে। Purple-এর গেস্ট WiFi প্ল্যাটফর্ম সম্মতি লগিং থেকে শুরু করে ওয়ান-ক্লিক ডেটা মুছে ফেলা পর্যন্ত প্রতিটি কমপ্লায়েন্স প্রয়োজনীয়তার সাথে সরাসরি সামঞ্জস্যপূর্ণ।
সুরক্ষিত এন্টারপ্রাইজ WiFi এবং BYOD প্রভিশনিংয়ের জন্য কীভাবে SCEP কনফিগার করবেন
এই টেকনিক্যাল গাইডটিতে ব্যাখ্যা করা হয়েছে কীভাবে সুরক্ষিত 802.1X এন্টারপ্রাইজ WiFi অথেন্টিকেশন এবং BYOD প্রভিশনিং স্বয়ংক্রিয় করতে Simple Certificate Enrollment Protocol (SCEP) কনফিগার করবেন। এটি নেটওয়ার্ক আর্কিটেক্ট এবং IT ম্যানেজারদের একটি সুনির্দিষ্ট ডিপ্লয়মেন্ট সিকোয়েন্স, হসপিটালিটি ও রিটেল খাতের বাস্তবসম্মত ইমপ্লিমেন্টেশন সিনারিও এবং এন্টারপ্রাইজ নেটওয়ার্ক থেকে ঝুঁকিপূর্ণ প্রি-শেয়ার্ড কি (PSK) ও MAC Authentication Bypass দূর করার জন্য ঝুঁকি প্রশমন কৌশল প্রদান করে।
Enterprise SCEP সেটআপ গাইড: উচ্চশিক্ষা এবং বৃহৎ নেটওয়ার্কের জন্য সার্টিফিকেট-ভিত্তিক Wi-Fi অথেন্টিকেশন
এই গাইডটি SCEP ব্যবহার করে সার্টিফিকেট-ভিত্তিক WiFi অথেন্টিকেশন স্থাপনের জন্য একটি ব্যাপক প্রযুক্তিগত ব্লুপ্রিন্ট প্রদান করে। এটি প্রি-শেয়ার্ড কি (pre-shared keys) থেকে EAP-TLS-এ আর্কিটেকচারাল রূপান্তর, MDM প্ল্যাটফর্ম জুড়ে ডেপ্লয়মেন্ট সিকোয়েন্স এবং বৃহৎ আকারের নেটওয়ার্কের জন্য গুরুত্বপূর্ণ ঝুঁকি প্রশমন কৌশলগুলো কভার করে।