整合微信 WiFi 驗證:針對亞太地區顧客的 Captive Portal 登入引導
微信擁有 14.1 億的月活躍用戶,是全球華人消費者的主要數位身分識別。本指南說明如何將微信 OAuth 2.0 驗證整合至亞太地區場域的企業級 Captive Portal 中,內容涵蓋平台註冊、權限範圍選擇、RADIUS 授權變更(CoA)強制執行,以及符合 GDPR 與中國《個人信息保護法》(PIPL)的雙重合規架構。本指南旨在協助需要於本季度採取行動的 IT 經理、網路架構師及場域營運總監。
收聽此指南
查看播客逐字稿

執行摘要
對於在亞太地區營運或服務全球中國遊客的企業場域而言,WeChat WiFi 驗證已不再是可有可無的選項。截至 2025 年,WeChat 的月活躍用戶數已達 14.1 億(來源:騰訊),是中國消費者最主要的數位身分識別工具。當訪客連線到您的 SSID,卻只看到電子郵件或 Facebook 登入選項時,會立即面臨使用阻礙。他們幾乎肯定擁有 WeChat,但也幾乎肯定沒有在該裝置上設定當地的電子郵件地址。
本指南詳細介紹如何將 WeChat OAuth 2.0 整合至 Captive Portal 中。我們涵蓋了騰訊要求的兩種不同平台註冊、決定您收集哪些第一方數據的權限範圍(Scope)決策,以及將成功的 OAuth 交換轉換為實際網路存取的 RADIUS 授權變更(CoA)機制。我們也處理了 GDPR 與中國《個人信息保護法》(PIPL)重疊的合規要求。
Purple 的 Guest WiFi 平台可在 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 和 Fortinet 硬體上自動執行網路強制執行層。Purple 在全球 80,000 多個實體場域運作,並在 2024 年記錄了 4.4 億次登入(Purple 內部數據)。
技術深度解析
OAuth 2.0 流程
Captive Portal(一種攔截未驗證裝置之 HTTP 流量的網頁式驗證閘道器)會將訪客重新導向至託管在入口網站伺服器(地端或雲端)上的登入頁面。加入 WeChat OAuth 會將騰訊的身分識別基礎架構插入該流程中。
其執行順序如下:訪客與 SSID 建立關聯。無線控制器偵測到未驗證工作階段的存在,並將所有 HTTP 流量重新導向至 Captive Portal URL。入口網站頁面載入並呈現登入選項(包括 WeChat)。訪客選擇 WeChat。入口網站伺服器建構一個重新導向至 WeChat 位於 open.weixin.qq.com 的授權端點,並傳遞四個參數:AppID、重新導向 URI、設為 code 的回應類型,以及要求的權限範圍(Scope)。
WeChat 完全在其自身的基礎架構上驗證使用者。如果訪客已透過 WeChat 應用程式內瀏覽器登入,snsapi_base 權限範圍允許進行無感知的靜默驗證。WeChat 會重導向回 Captive Portal 註冊的重導向 URI,並附帶一個短期授權碼。Portal 伺服器透過呼叫 api.weixin.qq.com/sns/oauth2/access_token 並帶入 AppID、AppSecret、授權碼和授權類型,來將此授權碼交換為存取權杖。WeChat 會傳回存取權杖、重新整理權杖、使用者的 OpenID 以及已授予的權限範圍。如果請求了 snsapi_userinfo,則會對 api.weixin.qq.com/sns/userinfo 進行第二次 API 呼叫,以取得使用者的暱稱、個人頭像、性別和城市。

平台註冊:最常導致部署失敗的關鍵決策
騰訊營運著兩個獨立的開發者平台,選擇錯誤的平台是導致實作失敗最常見的原因。
| 存取情境 | 所需註冊類型 | 平台 URL | 支援的權限範圍 |
|---|---|---|---|
| WeChat 應用程式內瀏覽器 | 服務號 (公眾平台) | mp.weixin.qq.com | snsapi_base, snsapi_userinfo |
| 標準行動瀏覽器 (Chrome, Safari) | 網站應用 (開放平台) | open.weixin.qq.com | snsapi_login (QR code 流程) |
公眾平台上的訂閱號將無法運作。它缺乏 OAuth 網頁授權權限。只有服務號才具備這些權限。
大多數位於 餐旅餐飲 和 零售 領域的企業部署都會同時實作這兩種註冊。飯店的訪客可能會在 Chrome 中開啟 Captive Portal,使用 WeChat 掃描 QR code,並透過開放平台流程進行驗證。或者,他們可能會點擊 WeChat 內部的連結,進入應用程式內瀏覽器,並透過公眾平台流程進行靜默驗證。這兩條路徑都必須處理。
權限範圍選擇與資料收集
OAuth 權限範圍是一項真正的架構決策,而非單純的設定細節。它決定了使用者體驗到的阻力,以及您的 WiFi Analytics 平台所接收的資料。
snsapi_base 僅傳回 OpenID — 這是該使用者在您的服務號中穩定且唯一的識別碼。它不需要使用者同意提示,驗證過程是無形的。這適用於您已擁有其設定檔的回訪訪客,或適用於體育場館和交通樞紐等以連線速度為首要考量的高吞吐量環境。 snsapi_userinfo 會傳回 OpenID 以及暱稱、個人頭像、性別、語言設定和城市。這會觸發一個明確的同意畫面。請在首次訪客註冊時使用此功能,以建立第一方數據檔案,並在 Captive Portal 頁面上搭配符合 PIPL 和 GDPR 規範的同意層。
實用規則:追求速度使用 snsapi_base,追求數據使用 snsapi_userinfo。您可以透過檢查使用者的 OpenID 是否已存在於您的資料庫中來同時實作這兩者。如果已存在,請請求 snsapi_base;如果不存在,請請求 snsapi_userinfo。
網路執行:RADIUS CoA 與 MAC 繞過
OAuth 權杖可證明身分,但它不會開啟網路。必須有另一個獨立機制將成功的驗證轉換為網路原則的變更。
定義於 RFC 3576 的 RADIUS 授權變更 (CoA) 是標準方法。在 Captive Portal 伺服器收到有效的 OAuth 權杖後,它會向無線控制器傳送 CoA 請求。控制器會更新工作階段,將裝置從圍牆花園 VLAN(僅允許 Captive Portal 流量的受限網路區段)移至完整的訪客 VLAN。這適用於 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 和 Fortinet。
MAC 位址繞過會在 OAuth 成功後,將裝置的 MAC 位址註冊為已授權的用戶端。接著,控制器會允許來自該位址的流量,而無需進一步挑戰。這較易於實作,但存在兩個風險:MAC 位址可能會被偽造,且 iOS 14 和 Android 10 起預設使用隨機 MAC 位址,這會在重新連線時破壞該機制。
對於任何重視安全性的部署,RADIUS CoA 才是正確的選擇。如需更多關於保護訪客網路安全的資訊,請參閱 什麼是安全 WiFi:2026 年企業必備指南 以及 企業 WiFi 安全:2026 年完整指南 。
實作指南
部署前檢查清單
在撰寫任何設定之前,請先完成以下五個步驟。
第一,確定存取情境。調查您的場域,並確認訪客是在微信 App 內瀏覽器、標準行動瀏覽器,還是兩者中遇到 Captive Portal。答案將決定您的平台註冊需求。
第二,在正確的平台上註冊。對於 App 內瀏覽器存取,請在微信公眾平台建立服務號。對於標準瀏覽器存取,請在微信開放平台註冊網站應用程式。記下各自的 AppID 和 AppSecret。
第三,設定您的重新導向 URI。註冊您 Captive Portal 使用的每個網域和子網域,包括預備環境。微信會執行精確比對驗證,不相符將傳回錯誤 40029。
第四,實作伺服器端權杖交換。AppSecret 絕不能出現在用戶端程式碼中。建立一個伺服器端端點,用以接收授權碼、將其交換為權杖,並僅傳回您 Captive Portal 所需的數據。
第五,實作 state 參數以防範 CSRF 攻擊。請生成一個加密隨機值,將其儲存在使用者工作階段中,在 OAuth 請求中傳遞,並在返回時進行驗證。
Ruckus SmartZone 的設定步驟
對於運行 Ruckus SmartZone 的場域,WeChat Portal 設定位於「Services and Profiles」(服務與設定檔),接著是「Hotspots and Portals」(熱點與 Portal),然後是「WeChat」分頁。您需要設定驗證 URL(您的 Portal 伺服器的 WeChat 回呼端點)、DNAT 目的地(處理未驗證用戶端重導向的伺服器)以及寬限期(已中斷連線的使用者在無需重新驗證的情況下可以重新連線的時間視窗,預設為 60 分鐘)。您還需要設定 Walled Garden 白名單,以允許在驗證階段與 WeChat 的 API 端點進行流量傳輸。另請參閱 逐步指南:為訪客 WiFi Captive Portals 設定 Ruijie 無線控制器 以瞭解類似的控制器設定模式。
應用程式內瀏覽器偵測
WeChat 的應用程式內瀏覽器會設定包含 MicroMessenger 的 User Agent 字串。您的 Portal 必須偵測此字串並提供適當的 OAuth 流程。如果存在 MicroMessenger,請使用公眾號(Official Accounts)流程。如果不存在,請使用開放平台(Open Platform)的 QR code 流程。未能正確偵測此字串會導致體驗中斷或驗證錯誤。
最佳實踐
資料最小化與雙重框架合規性
GDPR(適用於歐洲訪客)和 PIPL(適用於中國公民)均要求處理個人資料必須有合法依據、明確的目的限制以及資料最小化。相較於 snsapi_userinfo,snsapi_base 範圍在資料最小化原則下更容易證明其合理性。當您確實透過 snsapi_userinfo 收集人口統計資料時,請記錄您的法律依據、保留期限以及您與騰訊的資料處理協議。
自 2021 年 11 月起實施的 PIPL 要求對敏感個人資訊取得明確同意,並規定中國境外的資料處理者必須實施同等的保護標準。如果您的 Portal 伺服器位於中國大陸境外,您必須評估跨境資料傳輸規則是否適用於您接收的 WeChat OpenID 和個人檔案資料。
適用於多物業部署的 UnionID
每個公眾號(Official Account)的每個使用者 OpenID 都是唯一的。如果您在多個物業中營運多個公眾號,同一個訪客在每個公眾號中將擁有不同的 OpenID。WeChat 提供了一個 UnionID,該 ID 在連結到同一個開放平台(Open Platform)註冊的所有帳戶中保持一致。對於管理多個場域的連鎖飯店、零售集團或機場營運商,請從一開始就實作基於 UnionID 的身分識別解析。
安全強化
請將 AppSecret 儲存在環境變數或金鑰管理工具中,切勿寫在原始碼中。若懷疑洩漏,請立即進行輪替。在您的權杖交換端點上實施速率限制以防止濫用。記錄所有 OAuth 錯誤,特別是 40029(無效的代碼)和 40163(代碼已過期),因為這些錯誤代表設定錯誤或有主動探測行為。
如需深入了解訪客網路安全架構,請參閱 為什麼家用 WiFi 設備不適合用於您的訪客網路 。
案例研究
新加坡奢華連鎖酒店
一家位於新加坡、擁有 350 間客房的奢華酒店,主要服務中國商務旅客。該酒店在現有的電子郵件登入選項之外,增設了微信 WiFi 驗證。在實施之前,櫃檯人員平均每天會收到 15 起關於 WiFi 登入困難的訪客投訴。中國旅客當時正嘗試使用他們未在隨身旅行裝置上設定的電子郵件地址。
該酒店在微信公眾平台註冊了服務號,並在開放平台註冊了網站應用。他們針對首次連線的訪客設定了 snsapi_userinfo,並針對透過 MAC 位址識別的返回訪客設定了 snsapi_base。HPE Aruba 控制器則設定為 RADIUS CoA 以處理工作階段提升。
在 30 天內,訪客 WiFi 登入投訴降至每天不到兩起。該酒店的 WiFi Analytics 資料庫在第一個月內增加了 4,200 個經驗證的第一方個人檔案,其城市級的人口統計數據讓酒店能夠進行精準的入住後行銷溝通。
吉隆坡國際購物中心
吉隆坡的一家頂級購物中心,僅在馬來西亞就擁有 1,200 萬名微信用戶,需要一個符合其購物客群數位期望的 WiFi 導入體驗。該購物中心在 180,000 平方公尺的零售區域內營運 Cisco Meraki 基地台。
此部署使用 Purple 的 Guest WiFi 平台作為雲端覆蓋,以微信 OAuth 作為主要驗證方式,並以簡訊一次性密碼(SMS OTP)作為備用方案。Purple 的硬體無關架構處理了與 Cisco Meraki 的 RADIUS CoA 整合,無需進行客製化開發。
該購物中心在部署後的第一季記錄到 WiFi 工作階段啟動次數增加了 34%,這歸功於微信用戶導入流程摩擦的減少。透過 snsapi_userinfo 同意流程收集的第一方數據,使購物中心的行銷團隊能夠按居住城市對購物者進行細分,以進行精準的行銷活動投放。

疑難排解與風險緩釋
| 錯誤 | 原因 | 解決方案 |
|---|---|---|
| 40029 invalid code | 重新導向 URI 不符或代碼重複使用 | 驗證註冊的 URI 是否完全一致;代碼僅限單次使用 |
| 驗證後出現空白畫面 | RADIUS CoA 未設定或失敗 | 檢查控制器 CoA 設定以及 UDP 連接埠 3799 上的防火牆規則 |
| MAC 隨機化破壞回訪訪客流程 | iOS/Android MAC 隨機化 | 遷移至基於 OpenID 的工作階段追蹤;避免僅使用 MAC 進行識別 |
| snsapi_userinfo 回傳空欄位 | 使用者設定了微信隱私限制 | 妥善處理空值欄位;不要強制要求個人檔案資料才能存取 |
ROI 與商業影響
微信 WiFi 驗證的商業案例建立在三個可衡量的成效上。
第一方數據獲取。每次 snsapi_userinfo 驗證都會產生一個包含人口統計數據的已驗證訪客個人檔案。對於一家擁有 200 間客房、住房率 70% 且其中 40% 為中國訪客的飯店而言,這代表每年約可新增 20,000 個已驗證的個人檔案,且每個檔案都與微信身分綁定,支援後續的持續互動。
減輕支援負擔。登入摩擦是訪客 WiFi 支援電話的主要原因。在現有選項中加入微信驗證的場所,其與 WiFi 相關的前台諮詢量持續減少,從而釋放員工時間以進行更高價值的互動。
行銷觸及率。微信公眾號允許場所向粉絲發送推播通知。透過您的公眾號進行驗證的訪客可以被引導關注該帳號,從而在微信生態系統內建立直接的溝通管道,而中國消費者平均每天在微信上花費 82 分鐘(來源:Walk the Chat)。
Purple 的 Engage 方案進一步擴展了這一點,能夠根據在 WiFi 驗證時收集的第一方數據,建立自動化的訪問後訊息傳送、會員觸發機制以及分眾行銷活動。
關鍵定義
Captive Portal
一種基於網頁的驗證閘道,它會攔截來自未驗證裝置的 HTTP 流量,並在授予網路存取權限之前,將其重導向至登入頁面。
向使用者呈現訪客 WiFi 驗證的機制。WeChat OAuth 是 Captive Portal 可提供的幾種驗證方法之一。
OAuth 2.0
一種業界標準的授權協定,允許第三方應用程式(即 Captive Portal)代表使用者獲得對網路服務(WeChat)的有限存取權,而無需使用者與第三方分享其密碼。
使 WeChat 登入成為可能的底層框架。Portal 永遠不會看到使用者的 WeChat 憑證;它只會收到一個確認 WeChat 已對其進行驗證的權杖。
RADIUS CoA
授權變更(Change of Authorisation)。RFC 3576 中定義的一種機制,允許 RADIUS 伺服器動態修改作用中網路用戶端的工作階段授權屬性,例如變更 VLAN 分配。
將成功的 WeChat OAuth 交換轉換為實際網路存取權的網路執行機制。如果沒有 CoA,訪客雖然通過了驗證,但控制器不知道要開放網路。
OpenID
WeChat 分配給特定官方帳號或網站應用程式中特定使用者的唯一識別碼。它在不同的工作階段中保持穩定,但在不同的帳號之間會有所不同。
用於在您的 WiFi 分析資料庫中識別訪客的主索引鍵。如果您營運多個官方帳號並需要跨帳號身分識別,請改用 UnionID。
snsapi_base
一種 WeChat OAuth 範圍,可啟用靜默驗證,僅傳回使用者的 OpenID,而不顯示同意提示。
適用於回訪訪客或以連線速度為首要考量的高吞吐量環境。除了 OpenID 之外,不傳回任何人口統計資料。
snsapi_userinfo
一種 WeChat OAuth 範圍,可傳回使用者的 OpenID、暱稱、個人頭像、性別、語言和城市,需要明確的使用者同意畫面。
用於首次訪客註冊,以建立第一方數據設定檔。必須與符合 GDPR 和 PIPL 規範的同意層搭配使用。
PIPL
個人資訊保護法。中國自 2021 年 11 月起實施的全面數據隱私法規,規範了必須如何收集、處理和傳輸中國公民的個人數據。
適用於透過 WeChat OAuth 收集中國公民數據的任何場所,不論該場所位於何處。需要明確同意、目的限制和數據最小化。
AppSecret
WeChat 核發的機密密碼金鑰,用於在您的應用程式呼叫 WeChat 的權杖交換 API 時進行驗證。
必須僅儲存在伺服器端。在用戶端程式碼中洩露會允許任何第三方冒充您的應用程式,並向 WeChat 發起未授權的 API 呼叫。
VLAN
虛擬區域網路(Virtual Local Area Network)。一種在數據鏈結層隔離流量的邏輯網路區段,允許單一實體網路承載多個隔離的流量串流。
用於 Captive Portal 部署中,將未驗證的裝置(圍牆花園 VLAN)與已驗證的訪客(訪客 VLAN)隔離開來。驗證成功後,RADIUS CoA 會在 VLAN 之間移動裝置。
UnionID
一個 WeChat 識別碼,對於連結到同一個開放平台註冊的特定使用者,在所有官方帳號和網站應用程式中保持一致。
對於需要在多個物業(每個物業都有自己的官方帳號)中識別同一訪客的連鎖飯店、零售集團和多場所營運商至關重要。
範例
一間位於新加坡、擁有 200 間客房的奢華酒店使用 HPE Aruba 控制器,並服務大量的中國商務旅客。他們希望收集初次入住旅客的人口統計數據,並確保回訪旅客能自動連線而無需再次看到 Captive Portal。他們該如何設定微信 OAuth 整合?
步驟 1:在微信公眾平台(mp.weixin.qq.com)註冊服務號,以處理在微信內建瀏覽器中存取 Captive Portal 的旅客。在微信開放平台(open.weixin.qq.com)註冊網站應用,以處理使用標準行動瀏覽器的旅客。
步驟 2:設定 Captive Portal 以偵測 MicroMessenger 使用者代理(User Agent)字串。針對內建瀏覽器使用者提供公眾平台 OAuth 流程,針對標準瀏覽器使用者提供開放平台二維碼流程。
步驟 3:針對初次連線(資料庫中無現有 OpenID),請求 snsapi_userinfo 權限範圍。在 OAuth 重新導向之前顯示符合 PIPL 規範的同意畫面。將傳回的 OpenID、暱稱、城市和性別儲存至旅客個人檔案資料庫中。
步驟 4:針對回訪旅客(資料庫中已存在 OpenID),請求 snsapi_base 權限範圍。這會進行靜默驗證,不會出現使用者可見的提示。
步驟 5:設定 HPE Aruba 控制器以在 UDP 連接埠 3799 上進行 RADIUS CoA。OAuth 成功後,Captive Portal 伺服器會傳送 CoA 請求,將裝置從圍牆花園(Walled Garden)VLAN 提升至訪客 VLAN。
步驟 6:實作 MAC 位址記錄與 OpenID 綁定,以處理回訪旅客偵測。請注意,因應 MAC 隨機化,必須使用 OpenID 作為主要識別碼,而非僅靠 MAC 位址。
某零售連鎖店的 IT 團隊回報,在三個商場據點的微信 WiFi 登入失敗率極高。使用者在微信中完成驗證,但被重新導向回 Captive Portal 頁面並顯示錯誤。Portal 記錄檔顯示錯誤碼 40029。可能的原因是什麼?該如何解決?
錯誤碼 40029 代表微信在 Token 交換過程中拒絕了授權碼(Authorisation Code)。最常見的兩個原因為重新導向 URI(Redirect URI)不符以及授權碼重複使用。
步驟 1:登入微信公眾平台與開放平台的開發者主控台。導覽至 OAuth 設定,並列出所有已註冊的重新導向 URI。
步驟 2:將這些設定與您在三個據點的實際生產環境 Captive Portal 伺服器所使用的重新導向 URI 進行比對。檢查子網域差異(例如 portal.brand.com 與 brand.com)、協定差異(HTTP 與 HTTPS)以及路徑差異(/callback 與 /wechat/callback)。
步驟 3:在微信主控台中註冊每一個變體。微信執行的是精確比對驗證,而非前綴比對。
步驟 4:若 URI 完全相符,請調查您的 Captive Portal 伺服器是否嘗試重複使用授權碼。微信授權碼為一次性使用,且會在五分鐘後過期。如果您的伺服器使用相同的授權碼重試 Token 交換,第二次嘗試時將會收到 40029 錯誤。
步驟 5:在 Token 交換端點中實作等冪性(Idempotency),以防止重複的請求。
練習題
Q1. 您正在為一個可容納 60,000 人的體育場部署 Captive Portal,該體育場將舉辦國際賽事,且擁有龐大的中國球迷群體。首要任務是在開門後的前 15 分鐘內讓所有與會者連線,以減少行動網路擁塞。行銷數據收集是次要目標。您應該配置哪種 WeChat OAuth 範圍(scope),為什麼?
提示:考慮在 Portal 伺服器上向 15,000 名同時在線的使用者顯示同意畫面所帶來的影響。
查看標準答案
配置 snsapi_base 範圍。這可以實現無使用者同意提示的靜默驗證,提供最快的上網體驗。在體育場規模下,同意畫面會增加摩擦,這種摩擦會在數千個同時連線中成倍增加,並可能導致 Portal 伺服器負載飆升。snsapi_base 僅返回 OpenID,這足以記錄工作階段並識別回訪球迷。對於您希望獲取人口統計數據的首次到訪球迷,您可以在連線後的調查問卷中提示填寫個人資料,而不是在驗證關卡進行。
Q2. 您團隊中的一名網路架構師建議將 WeChat AppSecret 儲存在 Captive Portal 的用戶端 JavaScript 中,以便透過直接從瀏覽器發起權杖交換呼叫來減少伺服器往返次數。請解釋為什麼這種方法是嚴重的安全性失敗,以及正確的架構是什麼。
提示:考慮誰可以檢視用戶端程式碼,以及 AppSecret 允許他們執行什麼操作。
查看標準答案
將 AppSecret 儲存在用戶端 JavaScript 中會將其暴露給任何檢視網頁原始碼或攔截網路流量的人。AppSecret 用於向 WeChat 的 API 驗證您的應用程式。利用它,惡意行為者可以冒充您的應用程式,使用任何有效的授權碼呼叫 WeChat 的權杖交換端點,檢索使用者 OpenID 和個人資料,並可能耗盡您的 API 速率限制。正確的架構是伺服器端權杖交換端點。瀏覽器從 WeChat 接收授權碼並將其傳遞給您的伺服器。您的伺服器使用儲存在環境變數或秘密管理器中的 AppSecret,將該程式碼交換為權杖,並僅返回 Portal 所需的數據。AppSecret 絕不能離開您的伺服器。
Q3. 您的場館在不同城市營運著三家酒店,每家酒店都有自己的 WeChat 公眾號。在所有三家酒店都進行過驗證的會員在您的資料庫中擁有三個不同的 OpenID。您如何將其解析為單一的賓客身分?
提示:WeChat 提供了一種跨帳戶身分識別解析機制,這需要特定的平台配置。
查看標準答案
實作 WeChat 的 UnionID 機制。將所有三個公眾號連結到 open.weixin.qq.com 上的同一個開放平台註冊帳號。連結後,WeChat 會在 snsapi_userinfo 回應中與 OpenID 一起返回 UnionID。對於連結到同一個開放平台註冊帳號的所有帳戶,特定使用者的 UnionID 是一致的。將您的資料庫遷移為使用 UnionID 作為跨物業記錄的主要賓客識別碼,同時保留每個帳戶的 OpenID 以用於特定帳戶的 API 呼叫。對於在實作 UnionID 之前已驗證的賓客,請在他們下次到訪時使用 snsapi_userinfo 觸發重新驗證以獲取 UnionID。
Q4. 在執行 Cisco Meraki 存取點的零售場所部署 WeChat WiFi 驗證後,賓客回報他們成功完成了 WeChat 登入,但被返回到 Portal 頁面且無法瀏覽網際網路。Portal 伺服器記錄顯示成功檢索到權杖。最可能的原因是什麼,您如何診斷?
提示:Portal 已驗證身分。還有什麼尚未發生?
查看標準答案
RADIUS 授權變更 (CoA) 未完成。Portal 伺服器已透過 WeChat OAuth 驗證了賓客的身分,但未能成功指示 Cisco Meraki 控制器將裝置從 Walled Garden VLAN 移動到賓客 VLAN。診斷方法包括檢查:(1) Meraki 控制器是否已啟用 RADIUS CoA,且 Portal 伺服器的 IP 是否已列為授權的 CoA 用戶端;(2) Portal 伺服器與控制器之間的 UDP 連接埠 3799 是否已開放;(3) Portal 伺服器記錄中是否有 CoA 請求錯誤或逾時;以及 (4) 雙方配置的共用金鑰是否相符。如果您的 Meraki 授權級別不支援 CoA,則 MAC 位址旁路是備用方案,儘管它會帶來指南中提到的 MAC 隨機化風險。
繼續閱讀本系列
如何在 Starlink 上設定 Captive Portal:偏遠地區與海事場所指南
本指南詳細介紹如何繞過 Starlink 原生硬體,並使用企業級路由設備整合雲端管理的 Captive Portal。您將學習如何克服 CGNAT 限制、強制執行 VLAN 隔離、管理衛星頻寬限制,並確保符合法規規範。
Captive Portal 最佳做法:針對高轉換率與合規性的設計
本技術指南為 IT 經理、網路架構師和場域營運總監提供了部署 Captive Portal 的完整藍圖,在網路安全與高用戶轉換率之間取得平衡。內容涵蓋從 VLAN 區隔和 RADIUS 驗證,到符合 GDPR 規範的同意書設計與驗證方法選擇的完整架構。結合 Purple 於 2024 年在 80,000 多個場域和 4.4 億次登入的營運經驗,每項建議均基於真實的部署數據。
如何優化 Captive Portals 以實現最大化網路安全與使用者轉換率
本指南為企業級場域優化 Captive Portals 提供完整的技術藍圖,涵蓋網路分段架構、身分驗證方法選擇、符合 GDPR 規範的同意書設計以及轉換率優化。本書專為飯店、連鎖零售、體育場館和公共部門機構的 IT 經理、網路架構師及 CTO 撰寫,協助其在網路安全與第一方數據收集之間取得平衡。Purple 在全球超過 80,000 個場域營運 Captive Portal 基礎設施,並在 2024 年處理了 4.4 億次登入,本指南所提供的框架皆源自於這些實務營運經驗。