Как настроить URL-адрес обратного вызова в библиотеке OauthSwift

Я работаю над проектом, в котором я реализую библиотеку OAuthSwift для подключения к нескольким сайтам социальных сетей, которые используют OAuth1 и OAuth2.

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

Я могу вернуться к приложению, но он не регистрируется, что получил разрешение на доступ к моей учетной записи.

Это мой первый опыт работы с OAuth, и я считаю URL-адрес обратного вызова путаным.

Я был бы признателен за помощь в объяснении того, как заставить веб-представление перенаправить обратно в мое приложение и как настроить URL-адрес приложения.

class ViewController: UIViewController {

override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func postToTumblr(sender: AnyObject) { let oauthSwift = OAuth1Swift( consumerKey: "consumerKey", consumerSecret: "secretKey", requestTokenUrl: "https://www.tumblr.com/oauth/request_token", authorizeUrl: "https://www.tumblr.com/oauth/authorize", accessTokenUrl: "https://www.tumblr.com/oauth/access_token" ) oauthSwift.authorizeWithCallbackURL(NSURL(string: "com.myCompany.sampleApp")!, success: { credential, response in // post to Tumblr print("OAuth successfully authorized") }, failure: {(error:NSError!) -> Void in self.presentAlert("Error", message: error!.localizedDescription) }) } func presentAlert(title: String, message: String) { let alert = UIAlertController(title: title, message: message, preferredStyle: .Alert) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) self.presentViewController(alert, animated: true, completion: nil) } 

}

One Solution collect form web for “Как настроить URL-адрес обратного вызова в библиотеке OauthSwift”

Поговорив с некоторыми людьми в моей компании и просмотрев библиотеку, мы смогли решить проблему следующим образом:

Библиотека OAuthSwift распаковывает часть «com.myCompany» в схеме URL. Когда он ищет URL-адрес обратного вызова, он ищет имя приложения, за которым следует «: // oauth-callback».

Поэтому вместо:

 oauthSwift.authorizeWithCallbackURL(NSURL(string: "com.myCompany.sampleApp")! 

он искал:

 oauthSwift.authorizeWithCallbackURL(NSURL(string: "tumblrsampleapp://oauth-callback")! 

Я также должен был зарегистрировать схему URL в info.plist как:

 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>tumblrsampleapp</string> </array> </dict> </array> 

Наконец, я должен был добавить следующий метод в App Delegate:

 func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool { OAuth1Swift.handleOpenURL(url) return true } 

Это решило проблему, и приложение теперь аутентифицируется надлежащим образом и возвращается обратно в мое приложение.

Надеюсь, это полезно для всех, кто пытается реализовать OAuth1, используя библиотеку OAuthSwift.

Interesting Posts

отсутствие идентификатора подписи разработки ios для (null)

Счетчик шагов iOS HealthKit на сегодняшний день всегда равен 0 (но длительные дни в порядке)

UIButton TouchUpInside иногда не срабатывает

IOS: создать ссылку

Фон Firebase Push Notifications, не работающий и не связанный с FCM, не активировался

Обоснованный текст NSAttributedString (без растягивания слов)

Можно ли закрыть дескрипторы файлов для неиспользуемых ранее UIAppFonts?

AVCaptureStillImageOutput vs AVCapturePhotoOutput в Swift 3

Выбранный делегат обработчика результата не вызывается после обновления swift 1.2 / xcode 6.3

ios app компилирует sqlite fts с icu, но он не может получить идеальный ответ, когда я ввожу букву типа «z»,

фокусировка текстового поля в быстром

Как изменить / изменить цвет UINavigationBar?

Любое альтернативное руководство для руководства CocoaFundamentals

showkeyboard / hidekeyboard события не срабатывают на ios 7 при открытии Soft Keyboard в телефонной зазоре

После нажатия кнопка становится белой. (iOS) Возврат к нормальному состоянию после обновления

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.