我们刚刚注意到我们依赖Instagram作为主要登录的应用程序已不再有效。在进一步调查中,似乎Instagram的回调URL停止工作。现在,无论何时有人通过Instagram登录或通过Instagram注册,他们都会被带到Instagram应用程序,而不是被要求进行身份验证或进入我们的应用程序体验。
我检查了另一个我知道的应用程序,称为“Print Studio”,并且发生了同样的事情。
这个问题是否发生在其他人身上?关于是什么导致它的任何线索,并有任何人从Instagram上听到可能的解决方案?
答案 0 :(得分:5)
是。似乎影响所有应用程序(至少使用批准的第三方API的应用程序)。我几天前看到这个问题,它自己解决了。我假设Instagram工程师正在推出一些更新并打破了一些东西。
我建议从开发人员门户报告问题。 https://www.instagram.com/developer/clients/manage/。他们收到的报告越多越好。
<强>更新强>
这个问题似乎与Instagram方面的Cookie /会话持续更改有关。 要解决此问题,请在检测到用户访问Instagram主页时将用户重定向到原始身份验证网址。由于用户已经登录,因此应该将用户传递给正确的重定向URL,而无需再次登录。
例如,在swift中:
// MARK: - WKNavigationDelegate
override func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if let urlString = navigationAction.request.url?.absoluteString {
if urlString == "https://instagram.com" || urlString == "https://instagram.com/" ||
urlString == "https://www.instagram.com" || urlString == "https://www.instagram.com/" ||
urlString == "http://instagram.com" || urlString == "http://instagram.com/" ||
urlString == "http://www.instagram.com" || urlString == "http://www.instagram.com/" {
decisionHandler(.cancel)
self.refresh(nil) // reloads the original auth url
return
}
}
super.webView(webView, decidePolicyFor: navigationAction, decisionHandler: decisionHandler)
}