2016-10-26 14 views
0

Я пытаюсь реализовать OAuth2 в своем приложении iOS через Square, но он говорит, что с моей redirect_uri возникает ошибка, когда я успешно регистрирую браузер, который появляется.Квадратный API + OAuth2: Как установить URL-адрес перенаправления для моего приложения iOS?

enter image description here

Я использую стручок OAuthSwift. Это то, что я до сих пор создать схему URL, так что редирект должен открыть свой IOS приложение:

площади приборной панели конфигурации:

enter image description here

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 :

enter image description here

контроллер, который открывает браузер:

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) 
     } 
    ) 
    } 

} 

ответ

1

Когда руководство пользователя через поток OAuth для вашего приложения, вы должны указать redirect_uri параметр, который соответствует этому значению, указанным в площади портала разработчиков. Обратите внимание, что этот redirect_uri должен начинаться с http или https и соответствовать веб-странице вашего сервера.

+0

Я понял это тоже! так что это означает, что нет способа перенаправить на URL-адрес приложения ios. я должен установить свой URL-адрес обратного вызова на свой сервер, и в этой конечной точке мне нужно перенаправить на мое приложение. – Edmund