OAuth (Instagram) без обновления

У меня есть одностраничное приложение javascript, и мне интересно, могу ли я аутентифицировать пользователя в Instagram без обновления страницы. Я хотел бы попытаться сделать что-то похожее на подключение к Facebook с помощью javascript, где диалоговое окно Facebook открывается во всплывающем окне, а затем вызывает сценарий обратного вызова.

Вот думаю что получится...

  1. При нажатии открывается диалоговое (всплывающее) окно, в котором пользователь входит в Instagram, и приложению предоставляется разрешение.
  2. Во всплывающем окне пользователь перенаправляется обратно на мой веб-сайт, где мой веб-сайт переходит в Instagram, чтобы получить access_token, а затем устанавливает токен доступа в сеансе пользователя или в виде файла cookie.
  3. Каким-то образом... основное приложение должно распознать, когда был установлен токен доступа. Это тот момент, в котором я действительно не уверен. Буду ли я использовать таймер, чтобы продолжать звонить на сервер, чтобы проверить его? Есть ли у кого-нибудь лучшие идеи для его обнаружения? Было бы лучше установить его в файле cookie?

Я подумал, что сначала спрошу здесь, прежде чем начать кодировать, если у кого-нибудь есть какие-либо идеи относительно того, будет ли это работать / не будет работать, или другие предложения! Может быть, это уже существует, и я что-то упускаю?

Заранее спасибо :-)


person Sabrina Leggett    schedule 12.09.2012    source источник
comment
Поправьте меня, если я ошибаюсь, но аутентификация FB Javascript SDK действительно обновляет страницу после успешной аутентификации. Аутентификация происходит во всплывающем окне страницы, затем вызывается обновление страницы, если вход был успешным.   -  person Shane Stillwell    schedule 13.09.2012
comment
перейдите по этой ссылке: 9lessons.info/2012/05/login -with-instagram-php.html, и вы можете интегрировать это в вызов .ajax()   -  person tcd    schedule 13.09.2012
comment
См. этот вопрос, чтобы узнать, как получить данные, возвращаемые из всплывающего окна.   -  person Jan Gerlinger    schedule 13.09.2012


Ответы (1)


Оказалось, что это очень легко сделать с помощью всплывающего окна, используя комментарии от tdun и Jan. Спасибо, ребята! Использовал класс Instgram из 9 уроков и использовал window.opener.processAuthData(authData) для обратного вызова исходного окна. И мне действительно нужно было обновить, но это было во всплывающем окне, а не в главном окне приложения, к чему я стремился.

person Sabrina Leggett    schedule 18.09.2012