2017-07-16 169 views
5

幾周前我問了一個question,我認爲這樣可以解決Google登錄/註冊的問題,但它仍然存在問題。如何修復受損的Google登錄/註冊WKWebView?

  1. 打開getpocket.com
  2. 在如今>
  3. 點擊登錄與谷歌

當你輸入你的電子郵件地址和密碼,然後點擊旁邊的頁面變爲空白,沒有什麼點擊登錄發生。沒有重定向,沒有加載,沒有。

在Safari中頁面重定向並登錄成功。

我試過谷歌登錄與stackoverflow.com和它的作品!

但我相信它正在使用不同的方法,因爲它不會問我任何事情,登錄只是發生。它甚至不會要求我選擇要使用哪個帳戶登錄。一切都自動發生。

通常情況下,如果您輸入了您的電子郵件和密碼,Google會要求您選擇要使用哪個帳戶登錄,而無需再次輸入信息。

隨着getpocket.com這個屏幕出現,我點擊我的帳戶,它凍結。橙色加載條動畫播放沒有結束。

我不明白是什麼問題。

它可能是用戶代理嗎?

任何想法?

的WKWebView的初始化是很基本的:

_webView = [[WKWebView alloc] init]; 
_webView.allowsBackForwardNavigationGestures = NO; 
_webView.allowsLinkPreview = NO; 
_webView.navigationDelegate = self; 
_webView.UIDelegate = self; 
_webView.frame = CGRectMake(0.0, 0.0, self.contentView.frame.size.width, self.contentView.frame.size.height); 
[self.contentView addSubview:_webView]; 

我甚至嘗試了流行的Web瀏覽iCab Web Browser,問題仍然存在,與getpocket.com

回答

0

這裏有一些我的研究收集:

1)https://www.whatismybrowser.com/developers/tools/user-agent-parser/browse/browser-name/icab-user-agents - 最新的iCab有iCab用戶代理。

2)https://en.wikipedia.org/wiki/User_agent#User_agent_spoofing - iCab具有「用戶代理欺騙」功能。當您請求oAuth2.0時,您的oAuth請求由Google Play服務控制。如果Google Play服務沒有iCab用戶代理,那麼Google Play將使用默認的用戶代理並最終從服務器上獲取HTML重定向頁面。在此期間,iCab再次匹配用戶代理。在這裏,iCab找到不同的用戶代理,因此它阻止了頁面加載。

我從Chrome中檢查,一切都在運行。所以,可能它應該是由於用戶代理而導致的問題。

https://udger.com/resources/ua-list - 在本網站中,我讀到iCab使用webkit用戶代理。

我不確定,但由於用戶代理欺騙功能,它是有很高的機會,這是創建問題。

+0

也許你是對的。我使用這個用戶代理:「Mozilla/5.0(iPhone;像Mac OS X的CPU iPhone OS 10_3_2)AppleWebKit/603.1.30(KHTML,像Gecko)Mobile/14F89 Safari/602.1」 – Vulkan

0

谷歌的聲明很明確:「在未來的幾個月內,我們將 不再允許OAuth的請求,谷歌在被稱爲 嵌入式瀏覽‘網上意見’,如Android和 UIWebView的web視圖UI元素/ WKWebView在iOS和Windows和OS X.」

SRC當量:theregister.co.uk