2015-03-17 5 views
1

Я пытаюсь выяснить, как делать OAuth в Swift. В частности, я пытаюсь выполнить аутентификацию с помощью OAuth 2 и Eventbrite. Я считаю, что у меня есть все, настроить соответствующим образом на моем конце:Eventbrite Redirect URI iOS OAuthSwift

func doOAuthEventbrite(){ 
    let oauthswift = OAuth2Swift(
     consumerKey: Eventbrite["consumerKey"]!, 
     consumerSecret: Eventbrite["consumerSecret"]!, 
     authorizeUrl: "https://www.eventbrite.com/oauth/authorize", 
     responseType: "token" 
    ) 
    oauthswift.authorizeWithCallbackURL(NSURL(string: "eventbriteanalytics://oauth-callback/eventbrite")!, scope: "", state: "", success: { 
     credential, response in 
     println(credential.oauth_token) 
     }, failure: {(error:NSError!) -> Void in 
      println(error.localizedDescription) 
    }) 
} 

Однако, когда я иду на страницу Eventbrite OAuth (после того, как я принимаю, что я хочу, чтобы соединиться с этим приложением с моим счетом) я встретился с " Упс! Что-то пошло не так!' ошибка. URL состоит в следующем:

https://www.eventbrite.com/oauth/authorize?client_id=REAL_API_ID_HERE&redirect_uri=eventbriteanalytics://oauth-callback/eventbrite&response_type=token

Мой ожидаемое поведение является то, что redirect_uri восходит к приложению. Однако он просто остается в Safari.

Как проверка работоспособности, я смог запустить OAuth против приложения Instagram, и все работало нормально (полученный код доступа) и было отправлено обратно самому приложению (поэтому никаких проблем с неправильной моей схемой URL-адреса).

Просмотр документации Eventbrite, они дали следующие рекомендации для redirect_uri:

«Это значение, конфигурируемый на API Key, должен содержать веб-адрес, который пользователь будет перенаправлен после их утвердить или отклонить разрешение на ваше приложение. Для мобильных клиентов, разработки или тестирования вам может потребоваться установить это значение в http://localhost/. '

Мой вопрос в том, как я могу перенаправить пользователя обратно в приложение после его аутентификации, если моя схема URL недействительна, поэтому я могу получить код доступа и, таким образом, получить токен доступа?

+0

Я столкнулся с той же проблемой. Вы нашли решение? – apostopher

ответ

1

В качестве проверки вменяемости, я был в состоянии запустить OAuth против приложения Instagram и все работало нормально (получил код доступа) и был направлен обратно в самом приложении (поэтому никаких проблем с моим URL Scheme является некорректным) ,

Возможно, вы являетесь одним из немногих людей, которые вынуждены работать в Свифте. У вас есть пример кода, чтобы мы могли просмотреть, что вы сделали, и, возможно, поможете с ответом на вопрос?

Спасибо