我想弄清楚如何在Swift中做OAuth。特别是我正在尝试使用OAuth 2和Eventbrite进行身份验证。我相信我已经相应地设置了所有内容:
func doOAuthEventbrite(){
let oauthswift = OAuth2Swift(
consumerKey: Eventbrite["consumerKey"]!,
consumerSecret: Eventbrite["consumerSecret"]!,
authorizeUrl: "https://www.eventbrite.com/oauth/authorize",
responseType: "token"
)
oauthswift.authorizeWithCallbackURL( NSURL(string: "eventbriteanalytics://oauth-callback/eventbrite")!, scope: "", state: "", success: {
credential, response in
println(credential.oauth_token)
}, failure: {(error:NSError!) -> Void in
println(error.localizedDescription)
})
}
但是,当我访问Eventbrite OAuth页面时(在我接受我想用我的帐户连接此应用程序之后),我遇到了“哎呀出错了!”错误。 URL如下:
我的预期行为是redirect_uri返回应用程序。但它只是停留在Safari中。
作为一个完整性检查,我能够针对Instagram应用程序运行OAuth,一切正常(收到访问代码)并被转发回应用程序本身(因此我的URL方案没有问题)。
查看Eventbrite文档,他们为redirect_uri提供了以下指导:
'此值可根据API密钥配置,应包含用户在批准或拒绝您的应用授权后将重定向到的网址。对于移动客户端,开发或测试目的,您可能希望将此值设置为http://localhost/。
我的问题是,如果我的网址方案无效,我可以在用户验证后将其重定向回应用程序,以便我可以检索访问代码,从而获取访问令牌吗?
答案 0 :(得分:1)
作为一个完整性检查,我能够针对Instagram应用程序运行OAuth,一切正常(收到访问代码)并被转发回应用程序本身(因此我的URL方案没有问题)。
你可能是为数不多的必须在Swift工作的人之一。您是否有代码示例,以便我们可以查看您所做的事情,并可能帮助您回答问题?
由于