Instagram Auth Broken?

时间:2016-10-24 19:39:17

标签: api oauth instagram

我们刚刚注意到我们依赖Instagram作为主要登录的应用程序已不再有效。在进一步调查中,似乎Instagram的回调URL停止工作。现在,无论何时有人通过Instagram登录或通过Instagram注册,他们都会被带到Instagram应用程序,而不是被要求进行身份验证或进入我们的应用程序体验。

我检查了另一个我知道的应用程序,称为“Print Studio”,并且发生了同样的事情。

这个问题是否发生在其他人身上?关于是什么导致它的任何线索,并有任何人从Instagram上听到可能的解决方案?

1 个答案:

答案 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)
  }