Twitter api авторизация моего приложения

Я использую эту библиотеку twitter api, и пока все отлично. Моя проблема (ну, на самом деле, это не проблема для пользователя) заключается в том, что каждый раз, когда вы хотите войти в твиттер, вам нужно открыть всплывающее окно.

Прямо сейчас поток:

  • Пользователь нажимает на знак с логотипом twitter на моей странице.
  • Всплывающее окно, вызванное Javascript, включает в себя твиттер Oauth. Если вы вошли во все, что сказано, это логин и отмена. Если у вас нет полей для входа.
  • Если все хорошо, это относится к обратному URL-адресу, который я предоставляю. делает кучу вещей, а затем ..
  • Я вызываю window.opener и передаю аутентифицированную информацию, а оттуда закрываю окно.

Это было удивительно легко реализовать и отлично работает. Мне интересно, может ли процесс входа в twiiter быть немного больше похожим на facebook, который был бы таким.

  • Пользователь нажимает на знак с логотипом twitter на моей странице.
  • Если пользователь вошел в систему и авторизовал приложение, всплывающее окно всплывающее мгновенно исчезнет и вернет данные пользователя на мою страницу.

Я понимаю, что я использую php-библиотеку для twitter, а поток facebook – со стороны javascript, но мне интересно, могу ли я обнаруживать с помощью php, если пользователь уже разрешил приложение и был подписан, для них обойти дополнительный сигнал / отмена клик.

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

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

Нормальный поток диктует, что приложения отправляют токены запроса для авторизации / авторизации в реализации Twitter в спецификации OAuth. Чтобы воспользоваться преимуществами «Войти в Twitter», приложения должны отправлять токены запроса, полученные в параметре oauth_token, вместо oauth / authenticate .

Метод oauth / authenticate будет действовать по-разному в зависимости от состояния пользователя и его предыдущего взаимодействия с вызывающим приложением:

  1. Если пользователь зарегистрирован на twitter.com и уже одобрил вызывающее приложение, пользователь будет немедленно аутентифицирован и возвращен URL-адресу обратного вызова.

  2. Если пользователь не зашел на сайт twitter.com и уже одобрил вызывающее приложение, пользователю будет предложено войти в twitter.com, после чего он будет немедленно аутентифицирован и возвращен URL-адресу обратного вызова.

  3. Если пользователь зарегистрирован на twitter.com и еще не одобрил вызывающее приложение, будет представлено приглашение авторизации OAuth. Затем авторизация пользователей будет перенаправлена ​​на URL обратного вызова.

  4. Если пользователь не зашел на сайт twitter.com и еще не одобрил вызывающее приложение, пользователю будет предложено войти в twitter.com, после чего ему будет предложено ввести запрос авторизации, прежде чем перенаправить обратно на обратный URL.

Надеюсь, это соответствует законопроекту и будет работать на вас.

У меня была такая же проблема с Facebook API один раз, но она работала, проверяя файлы cookie, созданные API, чтобы увидеть, есть ли там записи, которые могут дать подсказку, если пользователь зарегистрировался. Я не уверен в Twitter, но в в случае с Facebook, наличие только файла cookie означает, что пользователь уже зарегистрирован в текущем приложении. Поскольку оба они используют Auth, они могут использовать ту же процедуру. Но, конечно, я просто догадываюсь. Лучше взгляните на себя, чтобы подтвердить.

Большой вопрос, кстати. +1