মূল কন্টেন্টে যান

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-এ কানেক্ট করেন এবং কেবল ইমেল, ফেসবুক বা ভাউচার কোড সহ একটি লগইন পেজ দেখেন, তখন তারা তাৎক্ষণিক ঘর্ষণের সম্মুখীন হন। সেই ডিভাইসে তাদের কোনো স্থানীয় ইমেল অ্যাড্রেস সেট আপ নাও থাকতে পারে। তবে তাদের প্রায় নিশ্চিতভাবেই WeChat আছে। তাই প্রশ্নটি এটি নয় যে আপনার WeChat লগইন অফার করা উচিত কিনা - বরং প্রশ্ন হলো আপনি কীভাবে এটি সঠিকভাবে, নিরাপদে এবং এমনভাবে কনফিগার করবেন যা ফার্স্ট-পার্টি ডেটা তৈরি করে যা আপনি আসলে ব্যবহার করতে পারবেন। আজ আমরা সেটিই কভার করতে যাচ্ছি। আমরা OAuth 2.0 ফ্লো, আপনার প্রয়োজনীয় দুটি প্ল্যাটফর্ম রেজিস্ট্রেশন, স্কোপের সিদ্ধান্ত যা নির্ধারণ করে আপনি কী ডেটা সংগ্রহ করবেন, নেটওয়ার্ক-সাইড এনফোর্সমেন্ট মেকানিজম এবং ২০২৬ সালে গুরুত্বপূর্ণ কমপ্লায়েন্সের বিষয়গুলো নিয়ে আলোচনা করব। --- টেকনিক্যাল ডিপ-ডাইভ (প্রায় ৫ মিনিট) চলুন আর্কিটেকচার দিয়ে শুরু করা যাক। একটি Captive Portal একটি আনঅথেন্টিকেটেড ডিভাইস থেকে HTTP ট্রাফিক ইন্টারসেপ্ট করে এবং এটিকে একটি লগইন পেজে রিডাইরেক্ট করে। সেই লগইন পেজটি একটি পোর্টাল সার্ভারে হোস্ট করা হয় - অন-প্রিমিসেস বা ক্লাউডে। আপনি যখন WeChat OAuth যুক্ত করেন, তখন আপনি সেই ফ্লোতে একটি থার্ড-পার্টি আইডেন্টিটি প্রোভাইডার যুক্ত করছেন। এখানে সিকোয়েন্সটি দেওয়া হলো। গেস্ট আপনার SSID-এ কানেক্ট করেন। অ্যাক্সেস পয়েন্ট বা ওয়্যারলেস কন্ট্রোলার সনাক্ত করে যে ডিভাইসটির কোনো অথেন্টিকেটেড সেশন নেই এবং সমস্ত HTTP ট্রাফিক আপনার Captive Portal URL-এ রিডাইরেক্ট করে। পোর্টাল পেজটি লোড হয় এবং WeChat সহ লগইন অপশনগুলো প্রদর্শন করে। গেস্ট WeChat লগইনে ট্যাপ করেন। আপনার পোর্টাল সার্ভার ব্রাউজারটিকে open.weixin.qq.com-এ WeChat-এর অথরাইজেশন এন্ডপয়েন্টে রিডাইরেক্ট করে, যেখানে আপনার AppID, রিডাইরেক্ট URI, কোডের রেসপন্স টাইপ এবং স্কোপ পাঠানো হয়। WeChat সম্পূর্ণভাবে নিজস্ব সার্ভারে অথেন্টিকেশন পরিচালনা করে। গেস্ট যদি ইতিমধ্যে তাদের ব্রাউজারে WeChat-এ লগইন করে থাকেন, তবে তারা একটি কনসেন্ট স্ক্রিন দেখতে পান। তারা যদি WeChat ইন-অ্যাপ ব্রাউজার ব্যবহার করেন, তবে অভিজ্ঞতাটি snsapi_base স্কোপের সাথে নীরব হতে পারে - কোনো কনসেন্ট প্রম্পট ছাড়াই। 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 পাবলিক অ্যাকাউন্ট পরিচালনা করে - যা বেশিরভাগ ভেন্যুর আসলে প্রয়োজন। WeChat ইন-অ্যাপ ব্রাউজারের ভেতরে গেস্টদের সেবা প্রদানকারী একটি Captive Portal-এর জন্য, আপনার Official Accounts Platform-এ একটি Service Account প্রয়োজন। একটি Subscription Account কাজ করবে না - এটিতে OAuth ওয়েব পেজ অথরাইজেশন পারমিশন নেই। একটি Service Account-এ এটি আছে এবং এটি snsapi_base এবং snsapi_userinfo উভয় স্কোপই সাপোর্ট করে। WeChat-এর বাইরে একটি স্ট্যান্ডার্ড মোবাইল ব্রাউজার থেকে অ্যাক্সেস করা Captive Portal-এর জন্য - Android-এ Chrome, iOS-এ Safari - আপনার Open Platform-এ রেজিস্টার করা একটি Website Application প্রয়োজন। এটি snsapi_login স্কোপ ব্যবহার করে এবং একটি QR কোড প্রদর্শন করে যা ইউজার তাদের WeChat অ্যাপ দিয়ে স্ক্যান করেন। বাস্তবে, বেশিরভাগ ভেন্যু ইমপ্লিমেন্টেশনে উভয়ই ব্যবহার করা হয়। একটি হোটেলের WiFi-এ থাকা একজন গেস্ট Chrome-এ পোর্টালটি ওপেন করতে পারেন, একটি QR কোড দেখতে পারেন, এটি WeChat দিয়ে স্ক্যান করতে পারেন এবং অথেন্টিকেট করতে পারেন। অথবা তারা WeChat-এর ভেতরেই একটি লিঙ্ক অনুসরণ করতে পারেন, ইন-অ্যাপ ব্রাউজারে পৌঁছাতে পারেন এবং snsapi_base-এর মাধ্যমে নীরবে অথেন্টিকেট করতে পারেন। চলুন স্কোপ সিলেকশন নিয়ে কথা বলি, কারণ এটি একটি আসল সিদ্ধান্তের জায়গা। snsapi_base কেবল OpenID রিটার্ন করে - যা আপনার Official Account-এর মধ্যে সেই ইউজারের জন্য একটি ইউনিক আইডেন্টিফায়ার। এর জন্য কোনো ইউজার কনসেন্ট প্রম্পটের প্রয়োজন হয় না। অথেন্টিকেশনটি ইউজারের কাছে অদৃশ্য থাকে। এটি ফিরে আসা গেস্টদের জন্য আদর্শ যাদের প্রোফাইল আপনি ইতিমধ্যে তৈরি করেছেন, অথবা এমন ভেন্যুগুলোর জন্য যেখানে আপনি নতুন ডেটা সংগ্রহের চেয়ে শূন্য ঘর্ষণকে অগ্রাধিকার দিতে চান। snsapi_userinfo OpenID-এর পাশাপাশি ইউজারের WeChat নিকনেম, profile picture, জেন্ডার, ল্যাঙ্গুয়েজ সেটিং এবং শহর রিটার্ন করে। এর জন্য একটি স্পষ্ট কনসেন্ট স্ক্রিনের প্রয়োজন হয়। ইউজার একটি প্রম্পট দেখতে পান যেখানে জিজ্ঞাসা করা হয় যে তারা আপনার 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 যাই হোক না কেন - উপযুক্ত সিগন্যাল পাঠায়। ভেন্যু অপারেটরকে ম্যানুয়ালি সেই রূপান্তর পরিচালনা করতে হয় না। --- ইমপ্লিমেন্টেশন সুপারিশ এবং ত্রুটিসমূহ (প্রায় ২ মিনিট) আমি আপনাকে এমন পাঁচটি বিষয় বলি যা WeChat OAuth Captive Portal ইমপ্লিমেন্টেশন ব্যর্থ হওয়ার কারণ হতে পারে। প্রথম: রিডাইরেক্ট URI অমিল। প্ল্যাটফর্মে আপনার রেজিস্টার করা অথরাইজড ডোমেইনের সাথে WeChat রিডাইরেক্ট URI যাচাই করে। আপনার পোর্টাল সার্ভার যদি অন্য কোনো সাবডোমেন, অন্য কোনো পাথ বা HTTPS-এর পরিবর্তে HTTP ব্যবহার করে, তবে OAuth ফ্লোটি error 40029 - invalid code সহ ব্যর্থ হয়। স্টেজিং এনভায়রনমেন্ট সহ আপনার ব্যবহৃত প্রতিটি ডোমেন ভেরিয়েন্ট রেজিস্টার করুন। দ্বিতীয়: ক্লায়েন্ট সাইডে AppSecret। আপনার AppSecret কখনই ক্লায়েন্ট-সাইড JavaScript বা কোনো মোবাইল অ্যাপ বাইনারিতে থাকা উচিত নয়। এটি আপনার সার্ভারে থাকা উচিত। এটি যদি উন্মুক্ত হয়ে যায়, তবে যে কেউ আপনার অ্যাপ্লিকেশনের ছদ্মবেশ ধারণ করতে পারে এবং আপনার পক্ষে WeChat-এর API কল করতে পারে। তৃতীয়: অনুপস্থিত CSRF সুরক্ষা। OAuth রিকোয়েস্টে স্টেট প্যারামিটারটি বিশেষভাবে ক্রস-সাইট রিকোয়েস্ট ফোরজারি প্রতিরোধ করার জন্য থাকে। একটি ক্রিপ্টোগ্রাফিকভাবে র্যান্ডম স্টেট ভ্যালু তৈরি করুন, এটি ইউজারের সেশনে সংরক্ষণ করুন এবং WeChat রিডাইরেক্ট করার সময় এটি যাচাই করুন। এটি বাদ দিলে আপনার একটি বাস্তব দুর্বলতা থেকে যাবে। চতুর্থ: ইন-অ্যাপ ব্রাউজার ডিটেকশন গ্যাপ। WeChat-এর ইন-অ্যাপ ব্রাউজার "MicroMessenger" ধারণকারী একটি নির্দিষ্ট ইউজার এজেন্ট স্ট্রিং সেট করে। আপনার পোর্টাল যদি এটি সনাক্ত করতে না পারে এবং সঠিক OAuth ফ্লো পরিবেশন না করে - ইন-অ্যাপ ব্রাউজারের জন্য Official Account ফ্লো, স্ট্যান্ডার্ড ব্রাউজারের জন্য Open Platform QR ফ্লো - তবে ইউজাররা একটি ত্রুটিপূর্ণ অভিজ্ঞতা বা এরর পাবেন। পঞ্চম: GDPR এবং PIPL সামঞ্জস্য। আপনি যদি ইউরোপীয় ভিজিটরদের সেবা দেন, তবে WeChat OAuth-এর মাধ্যমে আপনার সংগ্রহ করা ডেটার ক্ষেত্রে GDPR প্রযোজ্য হবে। আপনি যদি চীনা ভিজিটরদের সেবা দেন, তবে চীনের Personal Information Protection Law - PIPL - তাদের ডেটা প্রসেস করার ক্ষেত্রে প্রযোজ্য হবে। উভয়ের জন্যই প্রসেসিংয়ের জন্য একটি বৈধ আইনি ভিত্তি, স্পষ্ট উদ্দেশ্যের সীমাবদ্ধতা এবং ডেটা মিনিমাইজেশন প্রয়োজন। snsapi_base-কে ডেটা মিনিমাইজেশন নীতির অধীনে snsapi_userinfo-এর চেয়ে সমর্থন করা সহজ। আপনি যা-ই সংগ্রহ করুন না কেন, আপনার আইনি ভিত্তি এবং আপনার রিটেনশন পিরিয়ড ডকুমেন্ট করুন। --- র‌্যাপিড-ফায়ার প্রশ্নোত্তর (প্রায় ১ মিনিট) প্রশ্ন: আমি কি এমন একটি পোর্টালে WeChat লগইন ব্যবহার করতে পারি যা ইমেল এবং SMS লগইনও অফার করে? হ্যাঁ। Purple সহ বেশিরভাগ এন্টারপ্রাইজ পোর্টাল প্ল্যাটফর্ম একই পোর্টাল পেজে একাধিক অথেন্টিকেশন পদ্ধতি সাপোর্ট করে। WeChat অন্যান্য অপশনের পাশাপাশি একটি অপশন হিসেবে উপস্থিত হয়। প্রশ্ন: WeChat OAuth কি iOS-এ কাজ করে? হ্যাঁ, তবে একটি সূক্ষ্ম বিষয় আছে। Apple-এর App Tracking Transparency ফ্রেমওয়ার্ক সার্ভার-সাইড OAuth ফ্লোকে প্রভাবিত করে না। iOS-এ Safari-তে WeChat লগইন QR কোড ফ্লো বা রিডাইরেক্ট ফ্লোর মাধ্যমে কাজ করে। WeChat অ্যাপ নিজেই অথেন্টিকেশন পরিচালনা করে। প্রশ্ন: WeChat-এর API অনুপলব্ধ হলে কী হবে? আপনার পোর্টালের একটি ফলব্যাক ইমপ্লিমেন্ট করা উচিত। WeChat API কল টাইম আউট হলে বা কোনো এরর রিটার্ন করলে, ইউজারকে একটি বিকল্প লগইন পদ্ধতিতে রিডাইরেক্ট করুন। তাদের একটি ফাঁকা স্ক্রিন দেখাবেন না। প্রশ্ন: আমি কি OpenID-কে একটি স্থায়ী কাস্টমার আইডেন্টিফায়ার হিসেবে ব্যবহার করতে পারি? আপনার Official Account-এর মধ্যে, হ্যাঁ। OpenID একজন নির্দিষ্ট ইউজার এবং একটি নির্দিষ্ট Official Account-এর জন্য স্থিতিশীল। আপনার যদি একাধিক Official Account থাকে, তবে একই ইউজারের সেগুলোতে আলাদা আলাদা OpenID থাকবে। ক্রস-অ্যাকাউন্ট আইডেন্টিটি রেজোলিউশনের জন্য, 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

Executive Summary

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

Technical Architecture

একটি Captive Portal একটি আনঅথেন্টিকেটেড ডিভাইস থেকে HTTP ট্রাফিক ইন্টারসেপ্ট করে এবং এটিকে একটি পোর্টাল সার্ভারে হোস্ট করা লগইন পেজে রিডাইরেক্ট করে। আপনি যখন WeChat OAuth ইন্টিগ্রেট করেন, তখন আপনি এই ফ্লোতে একটি থার্ড-পার্টি আইডেন্টিটি প্রোভাইডার যুক্ত করছেন।

architecture_overview.png

সিকোয়েন্সটি নিম্নরূপ কাজ করে: ১. ভিজিটর 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 রিটার্ন করে।

Platform Registration Requirements

WeChat লগইন ইমপ্লিমেন্ট করার জন্য সঠিক ডেভেলপার প্ল্যাটফর্মে রেজিস্ট্রেশন করা প্রয়োজন। WeChat দুটি আলাদা প্ল্যাটফর্ম পরিচালনা করে এবং ভুল প্ল্যাটফর্ম সিলেক্ট করলে ইন্টিগ্রেশনটি ব্যর্থ হয়।

WeChat Official Accounts Platform

WeChat ইন-অ্যাপ ব্রাউজারের ভেতরে ভিজিটরদের সেবা প্রদানকারী একটি Captive Portal-এর জন্য, আপনার Official Accounts Platform-এ (mp.weixin.qq.com) একটি Service Account প্রয়োজন। একটি Subscription Account-এ প্রয়োজনীয় OAuth ওয়েব পেজ অথরাইজেশন পারমিশন নেই। একটি Service Account snsapi_base এবং snsapi_userinfo উভয় স্কোপই সাপোর্ট করে।

WeChat Open Platform

WeChat-এর বাইরে একটি স্ট্যান্ডার্ড মোবাইল ব্রাউজার থেকে অ্যাক্সেস করা Captive Portal-এর জন্য (যেমন Android-এ Chrome বা iOS-এ Safari), আপনার Open Platform-এ (open.weixin.qq.com) রেজিস্টার করা একটি Website Application প্রয়োজন। এটি snsapi_login স্কোপ ব্যবহার করে এবং একটি QR কোড প্রদর্শন করে যা ইউজার তাদের WeChat অ্যাপ দিয়ে স্ক্যান করেন।

সব ধরনের অ্যাক্সেস পদ্ধতি কভার করার জন্য বেশিরভাগ এন্টারপ্রাইজ ইমপ্লিমেন্টেশনে উভয় রেজিস্ট্রেশনেরই প্রয়োজন হয়।

Scope Selection and Data Collection

স্কোপ প্যারামিটারটি নির্ধারণ করে WeChat আপনার পোর্টাল সার্ভারে কী ডেটা রিটার্ন করবে। এই সিদ্ধান্তটি ইউজার ঘর্ষণ এবং ডেটা প্রাইভেসি কমপ্লায়েন্স উভয়ের ওপরই প্রভাব ফেলে।

scope_comparison_chart.png

snsapi_base

এই স্কোপটি কেবল OpenID রিটার্ন করে, যা আপনার Official Account-এর মধ্যে ইউজারের জন্য একটি ইউনিক আইডেন্টিফায়ার। এর জন্য কোনো ইউজার কনসেন্ট প্রম্পটের প্রয়োজন হয় না, যা অথেন্টিকেশনটিকে ইউজারের কাছে অদৃশ্য করে তোলে। এটি ফিরে আসা ভিজিটরদের জন্য সর্বোত্তম যাদের প্রোফাইল আপনার কাছে ইতিমধ্যে রয়েছে, অথবা এমন ভেন্যুগুলোর জন্য যা নতুন ডেটা সংগ্রহের চেয়ে শূন্য ঘর্ষণকে অগ্রাধিকার দেয়।

snsapi_userinfo

এই স্কোপটি OpenID-এর পাশাপাশি ইউজারের WeChat নিকনেম, প্রোফাইল পিকচার, জেন্ডার, ল্যাঙ্গুয়েজ সেটিং এবং শহর রিটার্ন করে। এর জন্য একটি স্পষ্ট কনসেন্ট স্ক্রিনের প্রয়োজন হয়, যা ঘর্ষণ তৈরি করে। প্রথমবার ভিজিটর রেজিস্ট্রেশনের জন্য এটি ব্যবহার করুন যেখানে একটি প্রোফাইল তৈরি করা প্রয়োজন, এবং এটিকে একটি GDPR-কমপ্লায়েন্ট কনসেন্ট লেয়ারের সাথে যুক্ত করুন।

Network Enforcement Integration

একটি OAuth টোকেন অর্জন করা আইডেন্টিটি প্রমাণ করে, কিন্তু এটি নেটওয়ার্ক ওপেন করে না। স্ট্যান্ডার্ড প্রোটোকল ব্যবহার করে আপনাকে অবশ্যই একটি সফল অথেন্টিকেশনকে নেটওয়ার্ক অ্যাক্সেসে রূপান্তর করতে হবে।

RADIUS Change of Authorisation (CoA)

IEEE 802.1X এবং RFC 3576-এ সংজ্ঞায়িত, RADIUS CoA সফল OAuth-এর পর পোর্টাল সার্ভারকে নেটওয়ার্ক কন্ট্রোলারে একটি রিকোয়েস্ট পাঠানোর অনুমতি দেয়। কন্ট্রোলার তখন ডিভাইসটিকে আনঅথেন্টিকেটেড VLAN থেকে গেস্ট VLAN-এ স্থানান্তর করে। এটি Cisco Meraki, HPE Aruba, Ruckus এবং Juniper Mist সহ এন্টারপ্রাইজ হার্ডওয়্যারের জন্য স্ট্যান্ডার্ড।

MAC Address Bypass

বিকল্পভাবে, পোর্টাল সার্ভার ডিভাইসের MAC অ্যাড্রেসটিকে একটি অথরাইজড ক্লায়েন্ট হিসেবে রেজিস্টার করে এবং কন্ট্রোলার এটিকে অনুমতি দেয়। ইমপ্লিমেন্ট করা সহজ হলেও, এটি কম নিরাপদ কারণ MAC অ্যাড্রেস স্পুফ করা যেতে পারে।

Purple-এর ক্লাউড ওভারলে এই রূপান্তরটিকে স্বয়ংক্রিয় করে, WeChat OAuth সম্পন্ন হওয়ার পর অন্তর্নিহিত হার্ডওয়্যারে (Ubiquiti UniFi, Cambium, Extreme এবং Fortinet সহ) উপযুক্ত সিগন্যাল পাঠায়।

Compliance and Security Considerations

GDPR and PIPL Alignment

আপনি যদি ইউরোপীয় ভিজিটরদের সেবা দেন, তবে WeChat OAuth-এর মাধ্যমে সংগৃহীত ডেটার ক্ষেত্রে GDPR প্রযোজ্য হবে। আপনি যদি চীনা ভিজিটরদের সেবা দেন, তবে চীনের Personal Information Protection Law (PIPL) প্রযোজ্য হবে। উভয় ফ্রেমওয়ার্কেরই প্রসেসিংয়ের জন্য একটি বৈধ আইনি ভিত্তি, স্পষ্ট উদ্দেশ্যের সীমাবদ্ধতা এবং ডেটা মিনিমাইজেশন প্রয়োজন। snsapi_base স্কোপটি snsapi_userinfo-এর চেয়ে ডেটা মিনিমাইজেশন নীতির সাথে আরও সহজে সামঞ্জস্যপূর্ণ হয়।

CSRF Protection

OAuth রিকোয়েস্টে state প্যারামিটারটিক্রস-সাইট রিকোয়েস্ট ফোরজারি প্রতিরোধ করে। আপনাকে একটি ক্রিপ্টোগ্রাফিকভাবে র্যান্ডম স্টেট ভ্যালু তৈরি করতে হবে, এটি ব্যবহারকারীর সেশনে সংরক্ষণ করতে হবে এবং WeChat রিডাইরেক্ট করার সময় এটি যাচাই করতে হবে।

Redirect URI যাচাইকরণ

WeChat প্ল্যাটফর্মে নিবন্ধিত অনুমোদিত ডোমেনের সাথে redirect_uri যাচাই করে। যদি আপনার পোর্টাল সার্ভার কোনো ভিন্ন সাবডোমেন, পাথ বা HTTPS-এর পরিবর্তে HTTP ব্যবহার করে, তবে OAuth ফ্লো 40029 ত্রুটি সহ ব্যর্থ হবে।

আপনার নেটওয়ার্ক সুরক্ষিত করার বিষয়ে আরও তথ্যের জন্য, আমাদের Enterprise WiFi Security: ২০২৬ সালের একটি সম্পূর্ণ গাইড দেখুন।

মূল সংজ্ঞাসমূহ

snsapi_base

একটি WeChat OAuth স্কোপ যা কোনো কনসেন্ট প্রম্পট প্রদর্শন না করেই কেবল ইউজারের OpenID রিটার্ন করে।

আইটি টিম যখন লগইন ঘর্ষণ না ঘটিয়ে ফিরে আসা ভিজিটরদের নীরবে অথেন্টিকেট করতে চায় তখন ব্যবহৃত হয়।

snsapi_userinfo

একটি WeChat OAuth স্কোপ যা OpenID-এর পাশাপাশি ডেমোগ্রাফিক ডেটা (নিকনেম, জেন্ডার, শহর) রিটার্ন করে এবং এর জন্য ইউজারের স্পষ্ট সম্মতির প্রয়োজন হয়।

প্রথমবার রেজিস্ট্রেশনের সময় ব্যবহৃত হয় যখন মার্কেটিং টিম একটি ভিজিটর প্রোফাইল তৈরি করতে চায়।

OpenID

একটি নির্দিষ্ট WeChat Official Account-এর মধ্যে একজন নির্দিষ্ট ইউজারের জন্য একটি ইউনিক আইডেন্টিফায়ার।

ভিজিটরের আচরণ এবং পুনরায় ভিজিট ট্র্যাক করতে পোর্টাল ডাটাবেসে প্রাইমারি কি হিসেবে ব্যবহৃত হয়।

RADIUS CoA

Change of Authorisation। RFC 3576-এ সংজ্ঞায়িত একটি মেকানিজম যা একটি সার্ভারকে একটি অ্যাক্টিভ সেশনের অথরাইজেশন স্টেট পরিবর্তন করার অনুমতি দেয়।

সফল WeChat অথেন্টিকেশনের পর ওয়্যারলেস কন্ট্রোলারকে নেটওয়ার্ক অ্যাক্সেস দেওয়ার কথা জানাতে পোর্টাল সার্ভার দ্বারা ব্যবহৃত হয়।

PIPL

Personal Information Protection Law। চীনের ব্যাপক ডেটা প্রাইভেসি রেগুলেশন।

WeChat লগইন ব্যবহারকারী চীনা ভিজিটরদের জন্য কনসেন্ট ফ্লো ডিজাইন করার সময় GDPR-এর পাশাপাশি অবশ্যই বিবেচনা করা উচিত।

AppID and AppSecret

আপনার অ্যাপ্লিকেশনটিকে সনাক্ত এবং অথেন্টিকেট করার জন্য WeChat দ্বারা প্রদত্ত ক্রেডেনশিয়াল।

AppSecret অবশ্যই পোর্টাল সার্ভারে নিরাপদে থাকতে হবে এবং ক্লায়েন্ট-সাইড কোডে কখনই প্রকাশ করা যাবে না।

State Parameter

একটি ক্রিপ্টোগ্রাফিকভাবে র্যান্ডম স্ট্রিং যা OAuth রিকোয়েস্টে পাঠানো হয় এবং ফিরে আসার সময় যাচাই করা হয়।

Captive Portal-এ ক্রস-সাইট রিকোয়েস্ট ফোরজারি (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 অ্যাড্রেসকে প্রি-অথেন্টিকেশন রোল থেকে অথেন্টিকেটেড গেস্ট রোলে স্থানান্তর করার নির্দেশ দেবে।

পরীক্ষকের মন্তব্য: এটি আইডেন্টিটি ভেরিফিকেশন এবং নেটওয়ার্ক অ্যাক্সেস কন্ট্রোলারের মধ্যে পার্থক্য তুলে ধরে। ওয়েব অ্যাপ্লিকেশন (পোর্টাল) এবং নেটওয়ার্ক ইনফ্রাস্ট্রাকচারের মধ্যে ব্যবধান দূর করতে এন্টারপ্রাইজ নেটওয়ার্কগুলোর 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 রিটার্ন করে।

এই সিরিজে পড়া চালিয়ে যান

Starlink-এ কীভাবে একটি Captive Portal সেট আপ করবেন: দূরবর্তী এবং সামুদ্রিক ভেন্যুগুলোর জন্য একটি নির্দেশিকা

এই নির্দেশিকাটিতে কীভাবে নেটিভ Starlink হার্ডওয়্যার বাইপাস করতে হয় এবং এন্টারপ্রাইজ রাউটিং সরঞ্জাম ব্যবহার করে একটি ক্লাউড-পরিচালিত captive portal সংহত করতে হয় তা বিস্তারিতভাবে আলোচনা করা হয়েছে। আপনি কীভাবে CGNAT সীমাবদ্ধতা কাটিয়ে উঠবেন, VLAN সেগমেন্টেশন প্রয়োগ করবেন, স্যাটেলাইট ব্যান্ডউইথ সীমাবদ্ধতা পরিচালনা করবেন এবং নিয়ন্ত্রক সম্মতি নিশ্চিত করবেন তা শিখবেন।

গাইডটি পড়ুন →

হোটেল গেস্ট WiFi ম্যানেজমেন্ট: PMS, পোর্টাল এবং ব্র্যান্ড স্ট্যান্ডার্ডের একীকরণ

এই টেকনিক্যাল গাইডটিতে এন্টারপ্রাইজ-গ্রেড হোটেল WiFi নেটওয়ার্ক কীভাবে আর্কিটেক্ট করতে হয় তা বিস্তারিতভাবে আলোচনা করা হয়েছে, যেখানে VLAN সেগমেন্টেশন, স্বয়ংক্রিয় সেশন ম্যানেজমেন্টের জন্য PMS ইন্টিগ্রেশন এবং GDPR-সম্মত ডেটা ক্যাপচারের জন্য captive portal অপ্টিমাইজেশনের ওপর আলোকপাত করা হয়েছে।

গাইডটি পড়ুন →

Captive Portal-এর সর্বোত্তম অনুশীলনসমূহ: উচ্চ কনভার্সন এবং কমপ্লায়েন্সের জন্য ডিজাইন

এই টেকনিক্যাল গাইডটি IT ম্যানেজার, নেটওয়ার্ক আর্কিটেক্ট এবং ভেন্যু অপারেশন ডিরেক্টরদের জন্য নেটওয়ার্ক সিকিউরিটির সাথে উচ্চ ইউজার কনভার্সনের ভারসাম্য বজায় রেখে captive portals স্থাপনের একটি সম্পূর্ণ ব্লুপ্রিন্ট প্রদান করে। এটি VLAN সেগমেন্টেশন এবং RADIUS অথেন্টিকেশন থেকে শুরু করে GDPR-সম্মত সম্মতি (consent) ডিজাইন এবং অথেন্টিকেশন পদ্ধতি নির্বাচন পর্যন্ত সম্পূর্ণ আর্কিটেকচার কভার করে। ২০২৪ সালে ৮০,০০০-এরও বেশি ভেন্যু এবং ৪৪০ মিলিয়ন লগইনে Purple-এর অপারেশনাল অভিজ্ঞতা থেকে নেওয়া প্রতিটি সুপারিশ বাস্তব ডিপ্লয়মেন্ট ডেটার ওপর ভিত্তি করে তৈরি।

গাইডটি পড়ুন →