Что сделать с Твиттером маркер OAuth, однажды полученный?

Я пишу веб-приложение, которое будет использовать Твиттер в качестве его основного метода входа в систему. Я написал код, который возвращает маркер OAuth с Твиттера. Мой план теперь к

  1. Найдите запись в моей таблице Users для имени пользователя Твиттера полученной с помощью маркера или создайте запись при необходимости
  2. Обновите Пользователей. Столбец TwitterOAuthToken с новым маркером OAuth
  3. Создайте постоянный cookie со случайным гуидом на сайте и вставьте запись в мой Cookie соответствия таблицы UserCookies Пользователю
  4. когда запрос войдет, я буду искать идентификатор cookie браузера в таблице UserCookies, затем использовать это, чтобы выяснить пользователя и выполнить запросы Твиттера от их имени
  5. Запишите маркер OAuth в некоторые страницы как js переменная так, чтобы JavaScript мог выполнить запросы от имени пользователя
  6. Если пользователь очищает его cookie, пользователь должен будет войти в систему снова для писания в Твиттере

Действительно ли это - корректный процесс? Я создал какие-либо крупные дыры в системе безопасности?

16
задан Cœur 26 December 2016 в 17:22
поделиться

2 ответа

Звучит хорошо.

Однако я предлагаю не использовать имя пользователя Twitter в качестве основного индекса для таблицы User. Поскольку имена пользователей Twitter могут быть изменены . Я усвоил это на собственном горьком опыте.

У вас должно получиться использовать идентификатор пользователя Twitter (большое целое число) в качестве первичного индекса, поскольку он не меняется, если пользователь меняет свое имя пользователя.

Что касается самого токена, вы можете хранить его для будущего использования. Фактически, вам рекомендуется это сделать.

10
ответ дан 30 November 2019 в 23:14
поделиться

Не могли бы вы просто сохранить oauth_token как файлы cookie вместо GUID и выполнить поиск на основе пользователя по oauth_token, или это так плохо практика?

0
ответ дан 30 November 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: