使用Yahoo API的OAuth2

时间:2017-10-28 19:18:46

标签: ios oauth oauth-2.0 yahoo-api

我想阅读并写入用户的Yahoo Fantasy Sports数据。

我尝试使用Yahoo API通过OAuthSwift获取访问权限。

我的OAuthSwift对象如下所示:

let oauth2Swift = OAuth2Swift(
    consumerKey:    "*****",
    consumerSecret: "*****",
    authorizeUrl:   "https://api.login.yahoo.com/oauth2/request_auth",
    accessTokenUrl: "https://api.login.yahoo.com/oauth2/get_token",
    responseType:   "code"
)

我按照这样执行:

    self.oauth2Swift.authorize(withCallbackURL: "com.me.myapp", scope: "fspt-w", state: "", success: { (cred, response, params) in
        print("✅ success")
    }) { (error) in
        print(" error")
    }

我已在雅虎的开发者网站上创建了该应用的实例,并确保回调域与之前的代码段中使用的回调域匹配:

enter image description here

我的iOS应用程序成功地在浏览器中显示了Yahoo登录体验,但是一旦用户登录它就会显示以下错误:

  

开发人员:请检查您的请求中的重定向URI并提交   试。

enter image description here

所以我的问题是:为什么在尝试使用Swift中的OAuth授权Yahoo用户时出现上述错误?

1 个答案:

答案 0 :(得分:0)

Identity Provider将使用回调中指定的URL重定向到客户端应用程序。尝试将回调Url更改为应用程序的auth端点。我以前用callbackURL: "http://127.0.0.1:xxxx/auth/yahoo/callback"进行测试并且曾经工作过。当然,配置的回调域应该与URL

中的域匹配