Oauth 突然无法在 iphone 上工作(仅安装了 FS 应用程序)

Oauth suddenly not working on iphone (with FS app installed only)

我们的 iphone 应用程序允许通过 oauth 通过 Foursquare 登录。它工作正常,最近停止工作。

我们得到的错误是:连接失败:回调 uri 对该消费者无效。

但是,如果用户没有在他们的 phone 上安装 foursquare 应用程序,它可以像以前一样正常工作。似乎 FS 现在正在进行重定向以处理 FS 应用程序内的 oauth,并且在尝试 return 到原始应用程序时失败。通过野生动物园它似乎工作。

这是在 ios 9.

解决办法??谢谢!

A callback url is a webpage loaded after your web app has been verified. In this case, you need to specify a page for to send data to after authentication

仔细检查您的 Foursquare 凭据并将回调 uri 更新为有效 link。 Tutorial link

请按照以下几点进行操作,也许其中之一可以解决您的问题:-

  1. 在foursquare账户的addcallback方法中输入回调。然后在您的代码中,在您授权之前将回调添加回提供者。 (Reference here)。

  2. 您收到该错误是因为您指向用户的 URL (foursquare.com/oauth2/...) 包含 redirect_uri与您在 https://foursquare.com/developers/apps 下的应用设置中配置的参数不匹配。确保这些匹配!

我们已经更改为使用 SafariViewController,这似乎迫使 Foursquare 不使用这种奇怪的应用程序内重定向,从而解决了这个问题。这也是 Apple 首选的 oauth 方法,因此可能是可行的方法。

在 Foursquare 方面似乎仍然是一个问题,他们可能想为其他人解决。我正在关闭这个问题。谢谢。

您的重定向 URL 指向哪里?如果您希望它在完成后启动您的应用程序,您应该指向 iTunes 商店(pre-iOS9)link 为您的应用程序或通用 link(iOS9 起) .

有关本机 foursquare 应用程序重定向的更多信息,请参见此处的自述文件:https://github.com/foursquare/foursquare-ios-oauth/

如何在iOS9https://www.appsflyer.com/blog/how-to-set-up-ios-9-universal-links-for-your-app/

中创建通用link