2015-11-28 3 views
1

* Извините заранее за длинный фон, но я думаю, что это необходимо и полезно другим разработчикам, как только это будет дан ответ.Как получить идентификатор пользователя, прошедшего проверку подлинности в веб-приложении, без использования OAuth?

фон

Я строй очень социальный веб-приложение, в котором есть несколько событий, которые вызывают социальные действия, такие как обновление статуса Twitter пользователя.

В настоящее время я использую библиотеку под названием «TweetMoaSharp» (.NET) для обработки рабочих процессов и событий Oauth, которые запускают обновление состояния или выполняют работу по работе блестяще , пока пользователь ненадолго перенаправляется на страницу проверки подлинности Twitter.

Чтобы уточнить, пользователю не предлагается повторно авторизовать мое приложение каждый раз, но есть некрасивое мерцание, которое длится 1-2 секунды, пока пользователь перенаправляется в Twitter, а затем обратно в мое приложение. Это будет раздражать конечного пользователя, поскольку частые взаимодействия с Twitter.

Итак - для облегчения ситуации я использую TweetMoaSharp для получения Тока доступа OAuth через сервер, а затем сохраняю этот токен вместе с идентификатором пользователя, который был возвращен из Twitter в моей базе данных. Затем я устанавливаю файл cookie на клиенте, который содержит идентификатор Twitter для пользователя, поэтому для будущих запросов я могу просто передать этот идентификатор на сервер, захватить маркер OAuth и создать свою базу данных. Не требуется перенаправление!

Проблема решена, правильно?

Ну, нет. Глупо, я упускал из виду тот факт, что это может вызвать столкновение с несколькими учетными записями Twitter, которые используются на одной странице, и закончил чириканье тестовых твитов ко второй учетной записи Twitter, которой я владею, потому что я изменил сеансы Twitter. Это может случиться с любым пользователем (ами), который обращается к нескольким учетным записям Twitter из одного браузера; например, муж и жена.

Назад к чертежной доске

Я подумал про себя, «The Facebook JavaScript API» делает его очень легко получить идентификатор текущего авторизованного пользователя, не проходя через кучу токенов шагов на стороне сервера так Я уверен, что Twitter предлагает тот же подход.»Ха! Я не нашел еще.

Bottom Line/Вопрос

Как получить идентификатор текущего пользователя, прошедшего аутентификацию Twitter без перенаправления их на Twitter (даже в течение секунды)? Если я смогу это сделать, тогда я смогу сравнить возвращенный идентификатор с тем, который был в моем cookie, и знать, если i t действителен для текущего сеанса моего приложения или если мне нужно, чтобы этот (новый) пользователь аутентифицировался, чтобы я избегал «Tweeting» под неправильной учетной записью.

Заранее благодарен.

+0

вы можете найти дополнительную информацию на форуме разработчиков twitter https://twittercommunity.com/ – ejectamenta

ответ

Смежные вопросы

 Смежные вопросы