oauth2身份验证在iPhone中不起作用

时间:2019-06-26 12:44:59

标签: swift crm hubspot-crm

我正在开发一个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)
})

}

1 个答案:

答案 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

这是URL Types部分的外观(请记住,您必须设置回调URL方案-myappURL Type panel