Вход в Facebook не работает в приложении Twitter для iOS

У меня есть мобильное приложение RoR/JQuery, которое использует Facebook OAuth для аутентификации. Все это прекрасно работает при доступе к нему через любой обычный браузер на настольном компьютере и мобильном устройстве, за одним исключением.

Если пользователь щелкает ссылку на приложение в приложении Twitter для iOS, домашняя страница загружается во внутреннем веб-просмотре. Если пользователь затем нажимает «Войти через Facebook», аутентификация кажется успешной, но когда Facebook перенаправляет пользователя обратно в приложение, страница никогда не загружается. Он просто отображает пустую страницу, а индикатор сети в верхней части экрана продолжает вращаться. Если я закрою веб-представление и снова нажму на ссылку, страница загрузится нормально, потому что пользователь уже прошел аутентификацию.

У кого-нибудь еще были проблемы с Facebook Auth внутри приложения Twitter на iOS? Любые предложения о том, как я могу решить эту проблему? Возможно ли, что это просто ошибка приложения Twitter на iOS?

Спасибо


person Col    schedule 21.04.2013    source источник


Ответы (1)


Я считаю, что нашел решение. В процессе аутентификации на Facebook использовалось много переадресаций, которые, как я думал, могли быть причиной проблемы (всего 5). Изучив процесс, я понял, что могу удалить одну из переадресаций и направить пользователя прямо на нужную мне страницу после его аутентификации.

  • www.example.com (ссылка из твита)
  • www.example.com/auth/facebook (используйте клики «Войти через Facebook»)
  • 1 - Перенаправить на: graph.facebook.com/oauth/authorize
  • 2 - Перенаправить на: www.facebook.com/dialog/oauth
  • 3 – Перенаправление на: www.example.com/auth/callback
  • 4 – Перенаправление на: www.example.com/entry_path (Это теперь удалено)
  • 5 – Перенаправление на: www.example.com/final_logged_in_path

Процесс входа в систему теперь работает из приложения Twitter для iOS.

person Col    schedule 20.05.2013