oauth2 аутентификация не работает в iPhone - PullRequest
1 голос
/ 26 июня 2019

Я разрабатываю одно приложение для iPhone, в котором мне нужно реализовать вход в систему с помощью hubspot.Чтобы реализовать это, я использовал библиотеку oauth2 в swift.В этом я использую код ниже, чтобы сделать авторизацию.Когда я запускаю приложение, оно направляет меня в safari и просит ввести id и passwrod в Hubspot.Когда я вхожу, он просто держит меня внутри сайта и показывает 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 голосов
/ 26 июня 2019

Я думаю, вы забыли о добавлении пользовательской схемы URL в свое приложение. Вам нужно перейти к настройкам цели, открыть вкладку «Информация» и добавить новую схему URL в «Типы URL». Не забудьте установить для «Схемы URL» то же значение, что и для вашей схемы обратного вызова (в вашем случае это будет myapp, но я рекомендую вам перейти на что-то более специфичное для вашего приложения, например, идентификатор пакета). Кроме того, вы должны реализовать метод application(_:open:options:) ( Docs ) в вашем AppDelegate:

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 обратного вызова - myapp) URL Type panel

...