【问题标题】:Facebook OAuthSwift redirect_uri not supported iOSFacebook OAuthSwift redirect_uri 不支持 iOS
【发布时间】:2016-03-29 06:49:07
【问题描述】:

我正在尝试使用OAuthSwift 在我的应用程序中获取用户的access token。我已经用TwitterInstagram 做到了这一点,但是Facebook 并没有帮助我。

我使用的代码如下:

    func doOAuthFacebook () {
    let oauthswift = OAuth2Swift(
        consumerKey:    "@@@@",
        consumerSecret: "####",
        authorizeUrl:   "https://www.facebook.com/dialog/oauth",
        responseType:   "token"
    )
    oauthswift.authorizeWithCallbackURL(NSURL(string: "myApp://myApp/facebook")!, scope: "publish_stream,email", state: "FACEBOOK", success: { (credential, response, parameters) -> Void in

        self.showAlertView("Facebook", message: "oauth_token:\(credential.oauth_token)")

        }) { (error) -> Void in

            print (error.localizedDescription)
    }
}

我使用的callbackURL 适用于其他两个社交网络。当 Safari 尝试打开页面时,我从 Facebook 收到此消息:

The redirect_uri URL is not supported

我不知道我是否必须在Facebook Developers 页面中对我的应用程序做些什么,或者是别的什么。

【问题讨论】:

  • 为什么不使用 Facebook SDK?
  • 我正在使用 OAuthSwift 框架为 Instagram 和 Twitter 做同样的事情,我正在尝试维护类似的 Facebook 请求
  • redirect_uri 必须是 https 并且与您注册客户端时注册的值相同。

标签: ios facebook swift facebook-graph-api oauth


【解决方案1】:

此案例记录在项目 wiki 页面中 https://github.com/OAuthSwift/OAuthSwift/wiki/API-with-only-HTTP-scheme-into-callback-URL

两种方式:

  • 拥有一个 http 服务器并重定向到您的应用方案

  • 在 webview 中使用代理来处理虚假的 http url 并重定向到您的应用程序方案或直接调用 OAuthSwift.handleOpenURL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多