我正在开发一个iPhone应用程序,该应用程序需要使用hubspot实现登录。 为了实现这一点,我在swift中使用了oauth2库。在此,我使用下面的代码进行授权。 当我运行该应用程序时,它会引导我进入野生动物园并要求输入Hubspot的ID和密码。当我输入它时,它只是让我进入网站并显示3点负载。
{
let oauthswift = OAuth2Swift(
consumerKey: "****",
consumerSecret: "****",
authorizeUrl: "https://app.hubspot.com/oauth/authorize",
accessTokenUrl: "https://api.hubapi.com/oauth/v1/token",
responseType : "code"
)
oauthswift.authorize(withCallbackURL: URL(string: "myapp://"), scope: "contacts", state:"code", success: { (credentials, response, parameters) in
print(response as Any)
}, failure: { (error) in
print(error)
})
}
答案 0 :(得分:0)
我认为您忘记了向应用程序添加自定义URL方案。您必须转到目标设置,打开选项卡“信息”,然后在“ URL类型”下添加新的URL方案。请记住,将“ URL方案”设置为与回调URL方案相同的值(在您的情况下为myapp
,但我建议您更改为更特定于您的应用的内容,例如包ID)。另外,您还必须在AppDelegate中实现application(_:open:options:)
方法(Docs):
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
if (url.host == "myapp") {
OAuthSwift.handle(url: url)
}
return true
}
所有这些步骤均写在该库中,请阅读:https://github.com/OAuthSwift/OAuthSwift