Должен ли я отправлять твитер пользователя со стороны браузера или сервера?

Мое веб-приложение отправило твиты от имени пользователя. Получив токен через процесс Oauth, я могу представить два способа опубликовать твит:

  1. Отправьте маркер в браузер и используйте javascript, чтобы опубликовать твит в twitter (есть трюки для публикации кросс-домена). Получив ответ от Twitter, я отправляю информацию обратно на сервер. Таким образом, сообщение является синхронным, но сторона браузера должна публиковать дважды: один раз в Twitter и один раз на сервер.
  2. Когда стороне клиента нужно отправить твит. Он отправляет запрос серверу, сервер нажимает этот запрос на очередь задач и возвращается асинхронно. Таким образом, мне нужно настроить очередь задач на сервере, а твит не в режиме реального времени.

Каким образом это лучший способ? За и против?

1 ответ

Чтобы ответить на мой собственный вопрос после небольшого расследования:

  1. Для веб-приложения маркер Oauth обычно сохраняется на сервере, а API REST также вызывается со стороны сервера. Вызовы могут выполняться синхронно, поэтому очередь задач необязательно необходима.

  2. Для собственного приложения Oauth обычно обрабатывается в приложении. Веб-просмотр используется для загрузки URI аутентификации и при переадресации код доступа фиксируется в URL-адресе. Код доступа используется приложением для получения токена доступа.

  3. Для родных приложений существует другой метод проверки подлинности, обычно называемый SSO. Он переключается на собственное приложение поставщика услуг и позволяет пользователю предоставлять доступ там, а затем переключается обратно в ваше приложение. Это более удобно для пользователя, так как собственный клиент почти всегда находится в состоянии входа в систему, сохраняя пользователя от ввода имени пользователя и пароля. Однако этот подход не может использоваться веб-приложениями.

Надеюсь, это поможет кому-то. Поправьте меня, если я ошибаюсь.

licensed under cc by-sa 3.0 with attribution.