簡體   English   中英

在iOS應用中處理互聯網身份驗證頁面的最佳方法?

[英]Best way to handle internet authentication pages within iOS app?

在iOS應用程序(通常在免費的WiFi區域,酒店等)中處理Wi-Fi身份驗證頁面的最佳方法是什么(例如在Settings.app中處理(當需要進行身份驗證時在模式中顯示Web視圖))的最佳方法是什么? 對於自定義解決方案,我有一些想法,例如檢查重定向,內容類型,然后向用戶顯示Web視圖,但是想知道是否已經實現了預先存在的解決方案。

背景:

支持iOS 5+

通過AFNetworking路由的所有網絡請求

我認為您的直覺很好。 您可能應該至少做四件事:

  1. 使用AFNetworking的setRedirectResponseBlock並確定request URL何時不同於您想要的域。

  2. 在您的setCompletionBlockWithSuccess:failure:處理程序塊中,檢測由於狀態代碼不在2xx范圍內而導致的錯誤。

  3. 您可能還應該具有setWillSendRequestForAuthenticationChallengeBlock在其中您可以檢測到意外的身份驗證質詢。

  4. 您可能還需要使用AFNetworkReachabilityManager (基於Apple的Reachability示例)來確定連接類型(例如,識別當前沒有任何WiFi連接)。

顯然,如果WiFi熱點根本需要WPA2 / WPA / WEP密碼才能連接到該熱點(與沒有WPA2 / WPA / WEP身份驗證的熱點相反,但該身份驗證是質詢響應或某些HTML-基於身份驗證),您對此無能為力,因為據AFNetworking所知,您根本沒有WiFi連接(在這種情況下,上面列出的第四種技術可能會提供參考)。 但是許多(大多數?)熱點不需要任何密碼即可連接,而是將您重定向到基於HTML的登錄頁面,在這種情況下,上述前三種技術可能會有所幫助。

據我所知,您必須自己實現此邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM