Facebook和Linkedin重定向网址无法在WKWebView中使用

时间:2018-02-22 06:35:13

标签: ios objective-c wkwebview

我有一个只有wkwebview的iOS项目。我尝试在webview中加载我的Web应用程序。在Web应用程序中,有一个连接facebook和linkedin的功能。此部分在Web应用程序中实现并正在运行。通过工作我的意思是,如果我在桌面浏览器或iPhone Safari浏览器中打开我的Web应用程序,并尝试连接Facebook和其工作。

我面临的问题是,当我尝试通过wkwebview连接帐户时,它无法正常工作。使用代码和状态调用重定向URL(如果是linkedin),但在成功验证后有一个空白屏幕,并且它不会重定向回原始页面,并且没有连接发生。

decidePolicyForNavigationAction内部,我正在拦截重定向网址,它具有预期的代码和状态(linkedin)。但不知何故它没有联系。

其他选项是,当我们从重定向URL获取代码和状态时,拦截它并发送一个post请求来获取accesstoken,然后调用自定义服务器api来保存accessstoken。但所有这些都已在Web应用程序中实现,我不想重做它。

即使在成功调用重定向网址之后,它也可能出现问题。

希望你能理解这个问题。

提前致谢。

编辑:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
    if ([navigationAction.request.URL.absoluteString isEqualToString:@"https://a.sitename.com/Account/ExternalLoginCallback"]) {
        self.webView.navigationDelegate = nil;
        decisionHandler(WKNavigationActionPolicyCancel);
    }
    return decisionHandler(WKNavigationActionPolicyAllow);
}

0 个答案:

没有答案