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

কীভাবে Captive Portals-এর জন্য WeChat OAuth অথেন্টিকেশন কনফিগার করবেন

এই টেকনিক্যাল গাইডটিতে ব্যাখ্যা করা হয়েছে কীভাবে captive portals-এর জন্য WeChat OAuth অথেন্টিকেশন কনফিগার করতে হয়। এতে চীনা দর্শনার্থীদের কাছ থেকে নিরাপদে ফার্স্ট-পার্টি ডেটা সংগ্রহ করার জন্য প্রয়োজনীয় প্ল্যাটফর্ম রেজিস্ট্রেশন, OAuth 2.0 ফ্লো, স্কোপ সিলেকশন এবং নেটওয়ার্ক এনফোর্সমেন্ট মেকানিজম বিস্তারিতভাবে আলোচনা করা হয়েছে।

📖 4 মিনিট পাঠ📝 793 শব্দ🔧 2 সমাধানকৃত উদাহরণ3 অনুশীলনী প্রশ্ন📚 8 মূল সংজ্ঞা

এই গাইডটি শুনুন

পডকাস্ট ট্রান্সক্রিপ্ট দেখুন
CAPTIVE PORTALS-এর জন্য WECHAT OAUTH অথেনটিকেশন কীভাবে কনফিগার করবেন একটি Purple টেকনিক্যাল ব্রিফিং - আনুমানিক ১০ মিনিট --- ভূমিকা এবং প্রেক্ষাপট (আনুমানিক ১ মিনিট) স্বাগতম। আপনি যদি কোনো হোটেল, রিটেইল চেইন, স্টেডিয়াম বা কনফারেন্স সেন্টারে গেস্ট WiFi-এর দায়িত্বে থাকেন যা চীনা দর্শকদের পরিষেবা দেয়, তবে এই ব্রিফিংটি আপনার জন্য। Tencent-এর ২০২৪ সালের ডেটা অনুযায়ী, WeChat-এর মাসিক সক্রিয় ব্যবহারকারীর সংখ্যা ১.৩৮ বিলিয়ন। এর সিংহভাগই চীনে অবস্থিত, তবে আন্তর্জাতিকভাবেও প্ল্যাটফর্মটির উল্লেখযোগ্য উপস্থিতি রয়েছে - মার্কিন যুক্তরাষ্ট্রে ৪০ লাখ ব্যবহারকারী, মালয়েশিয়ায় ১ কোটি ২০ লাখ ব্যবহারকারী এবং দক্ষিণ-পূর্ব এশিয়া, ইউরোপ ও মধ্যপ্রাচ্য জুড়ে এই সংখ্যা ক্রমাগত বাড়ছে। যখন কোনো চীনা অতিথি আপনার WiFi-এর সাথে সংযুক্ত হন এবং লগইন পেজে কেবল ইমেল, Facebook বা ভাউচার কোড দেখতে পান, তখন তারা তাৎক্ষণিক সমস্যার সম্মুখীন হন। সেই ডিভাইসে তাদের কোনো স্থানীয় ইমেল অ্যাড্রেস সেট আপ করা নাও থাকতে পারে। তবে তাদের কাছে WeChat অবশ্যই রয়েছে। তাই প্রশ্নটি এটি নয় যে আপনার WeChat লগইন অফার করা উচিত কিনা - বরং প্রশ্ন হলো কীভাবে আপনি এটি সঠিকভাবে, নিরাপদে এবং এমনভাবে কনফিগার করবেন যা ফার্স্ট-পার্টি ডেটা তৈরি করে যা আপনি আসলেই ব্যবহার করতে পারবেন। আজ আমরা এই বিষয়টিই আলোচনা করব। আমরা OAuth 2.0 ফ্লো, আপনার প্রয়োজনীয় দুটি প্ল্যাটফর্ম রেজিস্ট্রেশন, আপনি কী ধরনের ডেটা সংগ্রহ করবেন তা নির্ধারণকারী স্কোপ (scope) সিদ্ধান্ত, নেটওয়ার্ক-সাইড এনফোর্সমেন্ট মেকানিজম এবং ২০২৬ সালে গুরুত্বপূর্ণ কমপ্লায়েন্সের বিষয়গুলো বিস্তারিতভাবে দেখব। --- টেকনিক্যাল ডিপ-ডাইভ (আনুমানিক ৫ মিনিট) চলুন আর্কিটেকচার দিয়ে শুরু করা যাক। একটি 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-তে ফেরত পাঠায়। আপনার পোর্টাল সার্ভার আপনার AppID, AppSecret, কোড এবং authorization_code-এর গ্রান্ট টাইপ পাঠিয়ে api.weixin.qq.com/sns/oauth2/access_token কল করার মাধ্যমে সেই কোডটিকে একটি অ্যাক্সেস টোকেনে রূপান্তর করে। WeChat একটি অ্যাক্সেস টোকেন, একটি রিফ্রেশ টোকেন, ব্যবহারকারীর OpenID এবং মঞ্জুর করা স্কোপ ফেরত পাঠায়। আপনি যদি snsapi_userinfo স্কোপের জন্য অনুরোধ করে থাকেন, তবে ব্যবহারকারীর ডাকনাম (nickname), অ্যাভাটার, জেন্ডার এবং শহর পুনরুদ্ধার করতে আপনি একটি দ্বিতীয় 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-এর মধ্যে সেই ব্যবহারকারীর জন্য একটি ইউনিক আইডেন্টিফায়ার। এর জন্য কোনো ব্যবহারকারীর সম্মতি বা কনসেন্ট প্রম্পটের প্রয়োজন হয় না। এই অথেন্টিকেশন প্রক্রিয়াটি ব্যবহারকারীর কাছে অদৃশ্য থাকে। এটি সেইসব ফিরে আসা অতিথিদের জন্য আদর্শ যাদের প্রোফাইল আপনি ইতিমধ্যেই তৈরি করেছেন, অথবা এমন ভেন্যুর জন্য যেখানে আপনি কোনো নতুন ডেটা না পাওয়ার বিনিময়ে একদম ঝামেলাহীন (zero friction) অভিজ্ঞতা দিতে চান। snsapi_userinfo-এর মাধ্যমে OpenID-এর পাশাপাশি ব্যবহারকারীর WeChat নিকনেম, প্রোফাইল পিকচার, জেন্ডার, ল্যাঙ্গুয়েজ সেটিং এবং শহর পাওয়া যায়। এর জন্য একটি স্পষ্ট কনসেন্ট স্ক্রিনের প্রয়োজন হয়। ব্যবহারকারী একটি প্রম্পট দেখতে পান যেখানে জিজ্ঞাসা করা হয় যে তারা আপনার Official Account-কে তাদের তথ্য অ্যাক্সেস করার অনুমতি দিচ্ছেন কিনা। বেশিরভাগ ব্যবহারকারী এটি গ্রহণ করেন, তবে এতে কিছুটা বাধা বা ফ্রিকশন তৈরি হয়। সঠিক নির্বাচনটি আপনার ব্যবহারের ক্ষেত্রের (use case) ওপর নির্ভর করে। প্রথমবার আসা কোনো অতিথির রেজিস্ট্রেশনের জন্য যেখানে আপনি একটি প্রোফাইল তৈরি করতে চান, সেখানে snsapi_userinfo ব্যবহার করুন এবং আপনার পোর্টাল পেজে একটি CCPA/CPRA-সম্মত কনসেন্ট লেয়ারের সাথে এটি যুক্ত করুন। আর ফিরে আসা কোনো অতিথি যিনি ইতিমধ্যেই সম্মতি দিয়েছেন এবং যার প্রোফাইল আপনার কাছে রয়েছে, তাদের ক্ষেত্রে নীরব রি-অথেন্টিকেশনের (silent re-authentication) জন্য snsapi_base ব্যবহার করুন। এবার আসি নেটওয়ার্ক এনফোর্সমেন্টের বিষয়ে। একটি OAuth টোকেন পাওয়া পরিচয় প্রমাণ করে ঠিকই, কিন্তু এটি স্বয়ংক্রিয়ভাবে নেটওয়ার্ক ওপেন করে না। একটি সফল অথেন্টিকেশনকে নেটওয়ার্ক অ্যাক্সেসে রূপান্তর করার জন্য আপনার একটি মেকানিজম প্রয়োজন।দুটি স্ট্যান্ডার্ড পদ্ধতি হলো RFC 3576-এ সংজ্ঞায়িত RADIUS Change of Authorization এবং MAC address bypass। RADIUS CoA-এর ক্ষেত্রে, সফল OAuth-এর পর আপনার পোর্টাল সার্ভার নেটওয়ার্ক কন্ট্রোলারে একটি CoA অনুরোধ পাঠায় এবং কন্ট্রোলারটি ডিভাইসটিকে অসংজ্ঞায়িত (unauthenticated) VLAN থেকে গেস্ট (guest) VLAN-এ স্থানান্তরিত করে। এটি Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist এবং বেশিরভাগ এন্টারপ্রাইজ-গ্রেড কন্ট্রোলারের সাথে কাজ করে। MAC bypass-এর ক্ষেত্রে, পোর্টাল সার্ভার ডিভাইসের MAC অ্যাড্রেসটিকে একটি অনুমোদিত ক্লায়েন্ট হিসেবে রেজিস্টার করে এবং কন্ট্রোলার এটিকে অনুমতি দেয়। MAC bypass বাস্তবায়ন করা সহজ কিন্তু কম নিরাপদ, কারণ MAC অ্যাড্রেস স্পুফ (spoof) করা সম্ভব। Purple-এর Guest WiFi প্ল্যাটফর্ম উভয় প্রক্রিয়াই পরিচালনা করে। WeChat OAuth সম্পন্ন হওয়ার পর, Purple-এর ক্লাউড ওভারলে মূল হার্ডওয়্যারে উপযুক্ত সংকেত পাঠায় - তা Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme বা Fortinet যাই হোক না কেন। ভেন্যু অপারেটরকে এই রূপান্তরটি ম্যানুয়ালি পরিচালনা করতে হয় না। --- বাস্তবায়ন সংক্রান্ত সুপারিশ এবং সম্ভাব্য ত্রুটিসমূহ (আনুমানিক ২ মিনিট) চলুন জেনে নেওয়া যাক WeChat OAuth Captive Portal বাস্তবায়ন ব্যর্থ হওয়ার প্রধান পাঁচটি কারণ। প্রথমত: redirect URI অমিল (mismatch)। WeChat প্ল্যাটফর্মে আপনার রেজিস্টার করা অনুমোদিত ডোমেনের সাথে redirect URI যাচাই করে। যদি আপনার পোর্টাল সার্ভার অন্য কোনো সাবডোমেন, ভিন্ন পাথ বা HTTPS-এর পরিবর্তে HTTP ব্যবহার করে, তবে OAuth ফ্লোটি error 40029 - invalid code সহ ব্যর্থ হবে। স্টেজিং এনভায়রনমেন্ট সহ আপনার ব্যবহৃত প্রতিটি ডোমেন ভেরিয়েন্ট রেজিস্টার করুন। দ্বিতীয়ত: ক্লায়েন্ট-সাইডে AppSecret রাখা। আপনার AppSecret কখনই ক্লায়েন্ট-সাইড JavaScript বা কোনো মোবাইল অ্যাপ বাইনারিতে থাকা উচিত নয়। এটি আপনার সার্ভারে থাকা উচিত। এটি প্রকাশ হয়ে গেলে, যে কেউ আপনার অ্যাপ্লিকেশনের ছদ্মবেশ ধারণ করতে পারে এবং আপনার পক্ষে WeChat-এর API কল করতে পারে। তৃতীয়ত: CSRF সুরক্ষার অনুপস্থিতি। OAuth অনুরোধে state প্যারামিটারটি মূলত ক্রস-সাইট রিকোয়েস্ট ফোরজারি (cross-site request forgery) প্রতিরোধ করার জন্যই রয়েছে। একটি ক্রিপ্টোগ্রাফিকভাবে র্যান্ডম state ভ্যালু তৈরি করুন, এটি ব্যবহারকারীর সেশনে সংরক্ষণ করুন এবং WeChat রিডাইরেক্ট করার সময় এটি যাচাই করুন। এটি এড়িয়ে গেলে আপনার সিস্টেমে একটি বড় নিরাপত্তা ঝুঁকি (vulnerability) থেকে যাবে। চতুর্থত: ইন-অ্যাপ ব্রাউজার সনাক্তকরণের ঘাটতি। WeChat-এর ইন-অ্যাপ ব্রাউজার "MicroMessenger" সম্বলিত একটি নির্দিষ্ট ইউজার এজেন্ট (user agent) স্ট্রিং সেট করে। যদি আপনার পোর্টাল এটি সনাক্ত করতে না পারে এবং সঠিক OAuth ফ্লো প্রদান না করে - যেমন ইন-অ্যাপ ব্রাউজারের জন্য Official Account ফ্লো এবং স্ট্যান্ডার্ড ব্রাউজারের জন্য Open Platform QR ফ্লো - তবে ব্যবহারকারীরা ত্রুটিপূর্ণ অভিজ্ঞতা বা এরর (error) পাবেন। পঞ্চমত: CCPA/CPRA এবং PIPL-এর সাথে সামঞ্জস্যতা। আপনি যদি ইউরোপীয় ভিজিটরদের পরিষেবা দেন, তবে WeChat OAuth-এর মাধ্যমে আপনার সংগ্রহ করা ডেটার ক্ষেত্রে GDPR প্রযোজ্য হবে। আপনি যদি চীনা ভিজিটরদের পরিষেবা দেন, তবে তাদের ডেটা প্রক্রিয়াকরণের ক্ষেত্রে চীনের পার্সোনাল ইনফরমেশন প্রোটেকশন ল (Personal Information Protection Law) - PIPL - প্রযোজ্য হবে। উভয় ক্ষেত্রেই প্রক্রিয়াকরণের আইনি ভিত্তি, স্পষ্ট উদ্দেশ্যের সীমাবদ্ধতা এবং ডেটা মিনিমাইজেশন (data minimization) প্রয়োজন। ডেটা মিনিমাইজেশন নীতির অধীনে snsapi_userinfo-এর চেয়ে snsapi_base-এর যৌক্তিকতা প্রমাণ করা সহজ। আপনি যা-ই সংগ্রহ করুন না কেন, আপনার আইনি ভিত্তি এবং ডেটা সংরক্ষণের সময়সীমা (retention period) নথিবদ্ধ করুন। --- দ্রুত প্রশ্নোত্তর পর্ব (আনুমানিক ১ মিনিট)প্রশ্ন: আমি কি এমন একটি পোর্টালে WeChat লগইন ব্যবহার করতে পারি যা ইমেল এবং SMS লগইনও অফার করে? হ্যাঁ। 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 Account থাকে, তবে একই ব্যবহারকারীর জন্য সেগুলিতে ভিন্ন ভিন্ন OpenID থাকবে। ক্রস-অ্যাকাউন্ট আইডেন্টিটি রেজোলিউশনের জন্য, WeChat একটি UnionID প্রদান করে, যার জন্য ওপেন প্ল্যাটফর্মে (Open Platform) আপনার অ্যাকাউন্টগুলি লিঙ্ক করা প্রয়োজন। - সংক্ষিপ্তসার এবং পরবর্তী পদক্ষেপ (প্রায় ১ মিনিট) সংক্ষেপে বলতে গেলে, captive portals-এর জন্য WeChat OAuth অথেন্টিকেশন হলো একটি টু-প্ল্যাটফর্ম রেজিস্ট্রেশন অনুশীলন, একটি স্কোপ সিদ্ধান্ত, একটি নেটওয়ার্ক এনফোর্সমেন্ট ইন্টিগ্রেশন এবং একটি কমপ্লায়েন্স রিভিউ। এই চারটি জিনিস সঠিকভাবে সম্পন্ন করতে পারলে আপনার কাছে এমন একটি লগইন পদ্ধতি থাকবে যা কোনো পাসওয়ার্ডের ঝামেলা ছাড়াই এক বিলিয়নেরও বেশি সম্ভাব্য ভিজিটরকে পরিষেবা দেবে। ব্যবহারিক পরবর্তী পদক্ষেপগুলো হলো: প্রথমত, আপনার ভিজিটররা WeChat ইন-অ্যাপ ব্রাউজারের ভেতরে নাকি একটি স্ট্যান্ডার্ড মোবাইল ব্রাউজারে পোর্টালটি দেখছেন তা নির্ধারণ করুন - এটি নির্ধারণ করবে আপনার কোন প্ল্যাটফর্ম রেজিস্ট্রেশন প্রয়োজন। দ্বিতীয়ত, স্কোপ নির্ধারণ করুন - ফিরে আসা гостей জন্য snsapi_base, সম্মতি সহ প্রথমবার রেজিস্ট্রেশনের জন্য snsapi_userinfo। তৃতীয়ত, আপনার নেটওয়ার্ক হার্ডওয়্যার RADIUS CoA সমর্থন করে কিনা তা নিশ্চিত করুন অথবা বিকল্প হিসেবে MAC বাইপাস কনফিগার করুন। চতুর্থত, CCPA/CPRA এবং PIPL প্রয়োজনীয়তার বিপরীতে আপনার গোপনীয়তা বিজ্ঞপ্তি (privacy notice) এবং সম্মতি প্রবাহ (consent flow) পর্যালোচনা করুন। পঞ্চমত, লাইভ হওয়ার আগে রিডাইরেক্ট URI, স্টেট প্যারামিটার ভ্যালিডেশন এবং ইন-অ্যাপ ব্রাউজার ডিটেকশন পরীক্ষা করুন। আপনি যদি দেখতে চান কীভাবে Purple একটি বৃহত্তর Guest WiFi এবং অ্যানালিটিক্স প্ল্যাটফর্মের অংশ হিসেবে WeChat OAuth পরিচালনা করে - ২০২৪ সালে ৮০,০০০ ভেন্যু এবং ৪৪০ মিলিয়ন লগইন জুড়ে - তবে purple.ai ভিজিট করুন অথবা আপনার অ্যাকাউন্ট টিমের সাথে কথা বলুন। শোনার জন্য ধন্যবাদ। - স্ক্রিপ্ট সমাপ্ত

📚 আমাদের মূল সিরিজের অংশ: Captive Portal Guide

header_image.png

সারসংক্ষেপ

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

টেকনিক্যাল আর্কিটেকচার

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

architecture_overview.png

এখানে ধাপে ধাপে সুনির্দিষ্ট ইন্টারঅ্যাকশন দেওয়া হলো:

  1. দর্শনার্থী SSID-এর সাথে সংযুক্ত হন।
  2. ওয়্যারলেস অ্যাক্সেস পয়েন্ট (AP) বা ওয়্যারলেস কন্ট্রোলার একটি অথেন্টিকেটেড সেশনের অনুপস্থিতি শনাক্ত করে এবং HTTP ট্রাফিককে Captive Portal URL-এ রিডাইরেক্ট করে।
  3. দর্শনার্থী WeChat লগইন নির্বাচন করেন।
  4. পোর্টাল সার্ভার ব্রাউজারটিকে WeChat-এর অথরাইজেশন এন্ডপয়েন্টে (open.weixin.qq.com) রিডাইরেক্ট করে, যেখানে AppID, redirect_uri, response_type=code, এবং scope পাস করা হয়।
  5. WeChat অথেন্টিকেশন পরিচালনা করে। দর্শনার্থী যদি snsapi_base স্কোপ ব্যবহার করে WeChat ইন-অ্যাপ ব্রাউজারের ভেতরে থাকেন, তবে এটি নীরবে (সাইলেন্টলি) সম্পন্ন হয়।
  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-এর ইন-অ্যাপ ব্রাউজারের ভেতরে থাকা Captive Portals-এর জন্য, WeChat Official Accounts Platform-এ (mp.weixin.qq.com) নিবন্ধিত একটি Service Account প্রয়োজন। Subscription Accounts-এ প্রয়োজনীয় OAuth ওয়েবপেজ অথরাইজেশন পারমিশন নেই। Service Accounts উভয় snsapi_base এবং snsapi_userinfo স্কোপ সমর্থন করে।

WeChat Open Platform

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

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

স্কোপ নির্বাচন এবং ডেটা সংগ্রহ

স্কোপ প্যারামিটারটি নির্ধারণ করে যে WeChat আপনার পোর্টাল সার্ভারে কী ডেটা ফেরত পাঠাবে। এই সিদ্ধান্তটি ব্যবহারকারীর অভিজ্ঞতা (friction) এবং ডেটা প্রাইভেসি কমপ্লায়েন্স উভয়ের উপর প্রভাব ফেলে।

scope_comparison_chart.png

snsapi_base

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

snsapi_userinfo

এই স্কোপটি OpenID-এর পাশাপাশি ব্যবহারকারীর WeChat ডাকনাম (nickname), প্রোফাইল ছবি, লিঙ্গ, ভাষা সেটিংস এবং শহর ফেরত দেয়। এর জন্য একটি স্পষ্ট অথরাইজেশন পেজের প্রয়োজন হয়, যা কিছুটা ফ্রিকশন তৈরি করে। প্রথমবার আসা ভিজিটরদের রেজিস্ট্রেশনের জন্য এটি ব্যবহার করুন যেখানে প্রোফাইল তৈরি করা আবশ্যক, এবং এর সাথে একটি CCPA/CPRA-কমপ্লায়েন্ট কনসেন্ট লেয়ার যুক্ত করুন।

নেটওয়ার্ক এনফোর্সমেন্ট ইন্টিগ্রেশন

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

RADIUS Change of Authorization (CoA)

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

MAC Address Bypass

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

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

কমপ্লায়েন্স এবং সিকিউরিটি সংক্রান্ত বিবেচনা

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

CSRF সুরক্ষা

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

Redirect URI যাচাইকরণ

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

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

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

snsapi_base

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

আইটি টিম যখন লগইন সংক্রান্ত কোনো ঝামেলা ছাড়াই ফিরে আসা ভিজিটরদের নীরবে অথেন্টিকেট করতে চায় তখন এটি ব্যবহৃত হয়।

snsapi_userinfo

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

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

OpenID

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

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

RADIUS CoA

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

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

PIPL

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

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

AppID এবং AppSecret

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

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

State Parameter

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

captive portal-এ Cross-Site Request Forgery (CSRF) আক্রমণ প্রতিরোধ করার জন্য অত্যন্ত প্রয়োজনীয়।

MAC Address Bypass

802.1X অথেন্টিকেশনের প্রয়োজন না রেখে ডিভাইসের হার্ডওয়্যার অ্যাড্রেস অথরাইজ করার মাধ্যমে নেটওয়ার্ক অ্যাক্সেস দেওয়ার একটি পদ্ধতি।

সহজ নেটওয়ার্ক সেটআপের জন্য RADIUS CoA-এর একটি বিকল্প, যদিও এটি কম নিরাপদ।

সমাধানকৃত উদাহরণসমূহ

নিউ ইয়র্কের একটি লাক্সারি রিটেইল ব্র্যান্ড চীনা ক্রেতাদের জন্য WeChat লগইন সুবিধা দিতে চায়। তারা তাদের কাস্টমার বেস বোঝার জন্য ডেমোগ্রাফিক ডেটা সংগ্রহ করতে চায়, কিন্তু তারা CCPA/CPRA কমপ্লায়েন্স এবং পোর্টালে উচ্চ ড্রপ-অফ রেট নিয়ে চিন্তিত।

রিটেইলারের উচিত WeChat Official Accounts Platform-এ একটি সার্ভিস অ্যাকাউন্ট রেজিস্টার করা। ডেমোগ্রাফিক ডেটা (ডাকনাম, লিঙ্গ, শহর) সংগ্রহ করতে প্রথমবার কানেকশনের জন্য তাদের অবশ্যই পোর্টালটিকে snsapi_userinfo স্কোপ ব্যবহার করার জন্য কনফিগার করতে হবে। CCPA/CPRA কমপ্লায়েন্স নিশ্চিত করতে, WeChat রিডাইরেক্টের আগে পোর্টাল পেজে একটি স্পষ্ট, সচেতন-পছন্দের অপ্ট-ইন প্রদর্শন করতে হবে, যেখানে ঠিক কী ডেটা সংগ্রহ করা হচ্ছে এবং কেন করা হচ্ছে তা ব্যাখ্যা করা থাকবে। ফিরে আসা ক্রেতাদের জন্য, পোর্টালটির উচিত MAC অ্যাড্রেস সনাক্ত করা এবং কোনো ঝামেলা ছাড়াই পুনরায় অথেন্টিকেশনের জন্য snsapi_base ব্যবহার করা, যা ব্যবহারকারীর বাধা কমিয়ে দেবে।

পরীক্ষকের মন্তব্য: এই পদ্ধতিটি ডেটা সংগ্রহের সাথে ব্যবহারকারীর অভিজ্ঞতার ভারসাম্য বজায় রাখে। প্রথম ভিজিটের জন্য উচ্চ-ঝামেলার `snsapi_userinfo` ফ্লো সীমিত রেখে এবং পরবর্তীতে `snsapi_base` ব্যবহার করে, রিটেইলার ডেটা মিনিমাইজেশন নীতি মেনে চলার পাশাপাশি কনভার্সন সর্বোচ্চ করতে পারেন।

একটি স্টেডিয়াম HPE Aruba কন্ট্রোলার ব্যবহার করে একটি নতুন WiFi নেটওয়ার্ক স্থাপন করেছে। তারা WeChat OAuth কনফিগার করেছে এবং পোর্টালটি সফলভাবে অ্যাক্সেস টোকেন পেয়েছে, কিন্তু ভিজিটরের ডিভাইসটি captive portal পেজেই আটকে আছে এবং ইন্টারনেট অ্যাক্সেস করতে পারছে না।

এই ইন্টিগ্রেশনে একটি নেটওয়ার্ক এনফোর্সমেন্ট মেকানিজমের অভাব রয়েছে। পোর্টাল সার্ভারটি WeChat-এর মাধ্যমে ব্যবহারকারীর পরিচয় যাচাই করেছে, কিন্তু এটি HPE Aruba কন্ট্রোলারকে অ্যাক্সেস দেওয়ার জন্য কোনো নির্দেশ দেয়নি। পোর্টাল সার্ভারটিকে কন্ট্রোলারে একটি RADIUS Change of Authorization (CoA) মেসেজ পাঠানোর জন্য কনফিগার করতে হবে, যা কন্ট্রোলারকে ব্যবহারকারীর MAC অ্যাড্রেসটি প্রি-অথেন্টিকেশন রোল থেকে অথেন্টিকেটেড গেস্ট রোলে স্থানান্তর করার নির্দেশ দেবে।

পরীক্ষকের মন্তব্য: এটি পরিচয় যাচাইকরণ এবং নেটওয়ার্ক অ্যাক্সেস নিয়ন্ত্রণের মধ্যে পার্থক্য তুলে ধরে। এন্টারপ্রাইজ নেটওয়ার্কের ক্ষেত্রে ওয়েব অ্যাপ্লিকেশন (পোর্টাল) এবং নেটওয়ার্ক ইনফ্রাস্ট্রাকচারের মধ্যে ব্যবধান দূর করতে RADIUS CoA-এর মতো একটি প্রোটোকল প্রয়োজন হয়।

অনুশীলনী প্রশ্নসমূহ

Q1. আপনি একটি রিটেল চেইন জুড়ে একটি Captive Portal স্থাপন করছেন। টেস্টিংয়ে দেখা যাচ্ছে যে iOS-এ Safari-তে পোর্টালটি ওপেন করা ব্যবহারকারীরা WeChat লগইন নির্বাচন করার সময় একটি ত্রুটি পাচ্ছেন, কিন্তু WeChat মেসেজ লিঙ্কের ভেতর থেকে পোর্টালটি ওপেন করা ব্যবহারকারীরা সফলভাবে অথেন্টিকেট করতে পারছেন। এর সম্ভাব্য কারণ কী?

ইঙ্গিত: WeChat ইন-অ্যাপ ব্রাউজার এবং স্ট্যান্ডার্ড মোবাইল ব্রাউজারের মধ্যে পার্থক্যের কথা বিবেচনা করুন।

মডেল উত্তর দেখুন

বাস্তবায়নটি সম্ভবত শুধুমাত্র Official Accounts Platform-এ নিবন্ধিত একটি সার্ভিস অ্যাকাউন্টের উপর নির্ভর করছে, যা কেবল WeChat ইন-অ্যাপ ব্রাউজারের মধ্যেই OAuth সমর্থন করে। iOS-এ Safari সমর্থন করার জন্য, আপনাকে অবশ্যই WeChat Open Platform-এ একটি ওয়েবসাইট অ্যাপ্লিকেশন নিবন্ধন করতে হবে এবং Safari ব্যবহারকারীদের QR কোড ফ্লোতে পাঠাতে ইউজার এজেন্ট ডিটেকশন প্রয়োগ করতে হবে।

Q2. অ্যাক্সেস টোকেন বিনিময়ের সময় WeChat API থেকে আপনার পোর্টাল সার্ভার লগগুলিতে ঘন ঘন 40029 'invalid code' ত্রুটি দেখা যাচ্ছে। আপনার প্রথমে কোন কনফিগারেশনটি পরীক্ষা করা উচিত?

ইঙ্গিত: WeChat কীভাবে অথেন্টিকেশন অনুরোধের উৎস যাচাই করে তা ভাবুন।

মডেল উত্তর দেখুন

আপনার redirect_uri কনফিগারেশনটি যাচাই করা উচিত। WeChat ডেভেলপার কনসোলে নিবন্ধিত অনুমোদিত ডোমেনের বিপরীতে রিডাইরেক্ট URI কঠোরভাবে যাচাই করে। পোর্টালটি যদি অন্য কোনো সাবডোমেন ব্যবহার করে, অথবা এটি HTTPS বাদ দেয়, তবে WeChat কোড বিনিময় প্রত্যাখ্যান করবে।

Q3. একজন ভেন্যু অপারেটর ভিজিটরদের ডেটা সংগ্রহ করতে চান কিন্তু লগইন প্রক্রিয়ার সময় কোনো ঝামেলা (friction) রাখতে চান না। তারা আপনাকে একটি সম্মতি প্রম্পট না দেখিয়েই ভিজিটরের ডাকনাম এবং শহর সংগ্রহ করার জন্য WeChat লগইন কনফিগার করার অনুরোধ জানান। আপনি কীভাবে প্রতিক্রিয়া জানাবেন?

ইঙ্গিত: বিভিন্ন OAuth স্কোপের ক্ষমতাগুলি পর্যালোচনা করুন।

মডেল উত্তর দেখুন

আপনাকে অপারেটরকে জানাতে হবে যে এটি প্রযুক্তিগতভাবে অসম্ভব। ডাকনাম এবং শহরের মতো ডেমোগ্রাফিক ডেটা সংগ্রহের জন্য snsapi_userinfo স্কোপের প্রয়োজন হয়, যা বাধ্যতামূলকভাবে একটি WeChat সম্মতি প্রম্পট ট্রিগার করে। কোনো ঝামেলা ছাড়া লগইন সম্পন্ন করতে, আপনাকে অবশ্যই snsapi_base ব্যবহার করতে হবে, যা নীরবে কাজ করে কিন্তু শুধুমাত্র OpenID প্রদান করে।

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

Ruijie-এর জন্য ক্যাপটিভ পোর্টাল: Purple গেস্ট WiFi-এর সাথে এটি সেট আপ করুন

কীভাবে Purple-এর ক্লাউড গেস্ট WiFi ওয়েব অথেনটিকেশন এবং RADIUS ব্যবহার করে Ruijie RG Series অ্যাক্সেস পয়েন্টের উপরে কাজ করে, যা কমান্ড লাইন থেকে কনফিগার করা হয় এবং সঠিক সেটআপ ধাপগুলো কোথায় পাওয়া যাবে।

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

B2B Captive Portals ডিজাইন করা: নিবন্ধিত নাম এবং কোম্পানির ডেটা সংগ্রহ করা

এই নির্দেশিকাটি IT ম্যানেজার এবং ভেন্যু অপারেটরদের B2B captive portals ডিজাইন করার জন্য একটি ভেন্ডর-নিরপেক্ষ প্রযুক্তিগত কাঠামো প্রদান করে। এটি নিবন্ধিত নাম এবং কোম্পানির ডেটা ক্যাপচার করার জন্য কীভাবে রেজিস্ট্রেশন ফিল্ড গঠন করা যায় তা বিস্তারিত ব্যাখ্যা করে, যা GDPR সম্মতি বজায় রেখে এবং অ্যাকাউন্ট-স্তরের ইন্টেলিজেন্স তৈরি করার পাশাপাশি উচ্চ সমাপ্তির হার নিশ্চিত করে।

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

ক্যাপটিভ পোর্টাল আর্কিটেকচার: নিরাপত্তা, রিডাইরেকশন এবং সর্বোত্তম অনুশীলনসমূহ

এন্টারপ্রাইজ ক্যাপটিভ পোর্টাল আর্কিটেকচারের উপর একটি সুনির্দিষ্ট প্রযুক্তিগত রেফারেন্স। এই গাইডটি সুরক্ষিত, ডেটা-সমৃদ্ধ গেস্ট WiFi নেটওয়ার্ক স্থাপনকারী IT লিডারদের জন্য নেটওয়ার্ক আইসোলেশন, DNS রিডাইরেকশন, RADIUS অথেন্টিকেশন এবং সিকিউরিটি কমপ্লায়েন্স উন্মোচন করে।

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