Я пытаюсь реализовать OAuth2 в своем приложении iOS через Square, но он говорит, что с моей redirect_uri возникает ошибка, когда я успешно регистрирую браузер, который появляется.Квадратный API + OAuth2: Как установить URL-адрес перенаправления для моего приложения iOS?
Я использую стручок OAuthSwift. Это то, что я до сих пор создать схему URL, так что редирект должен открыть свой IOS приложение:
площади приборной панели конфигурации:
AppDelegate:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
print("hollaaaaaaaaaaaaaaaaa") // i never see this printed
OAuthSwift.handle(url: url)
return true
}
}
Target :
контроллер, который открывает браузер:
class OAuthViewController: UIViewController {
@IBAction func signInButtonTapped(_ sender: AnyObject) {
print("tapped");
let oauthswift = OAuth2Swift(
consumerKey: "my token",
consumerSecret: "my secret",
authorizeUrl: "https://connect.squareup.com/oauth2/authorize?client_id=my_id",
responseType: "token"
)
oauthswift.authorize(
withCallbackURL: URL(string: "com.edmund.ios/oauth-callback")!, // doesn't seem to do anything honestly... I think the Square dashboard setting has precedence over this.
scope: "MERCHANT_PROFILE_READ%20PAYMENTS_READ%20ITEMS_READ%20ORDERS_READ",
state: "",
success: { (credential, response, parameters) -> Void in
print(credential)
},
failure: { error in
print(error.localizedDescription)
}
)
}
}
Я понял это тоже! так что это означает, что нет способа перенаправить на URL-адрес приложения ios. я должен установить свой URL-адрес обратного вызова на свой сервер, и в этой конечной точке мне нужно перенаправить на мое приложение. – Edmund