Задача проста. Я хочу использовать Sign In With Twitter как учетные данные пользователя, позволяя им получать доступ к запрещенным зонам сайта и связывать их действия со своей учетной записью.Лучшая практика использования учетных данных Twitter как учетных данных сайта
Я могу подписать их через Twitter. Я возвращаю идентификатор, имя пользователя, маркеры oauth, секретные токены, ...
Теперь предположим, что пользователь делает действия, связанные с сайтом, например, голосование по опросу. Я хочу приписать голосование на их счет.
Что я должен отправить на сервер, чтобы доказать, что голосование идет от пользователя Twitter, который, по его словам, является?
Например, достаточно ли отправить обратно идентификатор Twitter и голос? Могут ли другие получить этот идентификатор, а затем начать голосовать за пользователя?
Должен ли я отправлять идентификатор твиттера, маркеры oauth и секретный токен на мой сервер? Опять же, как проверить, действительны ли эти учетные данные? Нужно ли серверу вызывать запрос на твиттер, чтобы проверить эти учетные данные после каждого действия для конкретного сайта? Это кажется чрезмерным.
У меня есть сервер, который проверяет учетные данные один раз и отправляет некоторые случайные ключи сеанса, а затем просто проверяет ключ сеанса после каждого запроса на оставшуюся часть сеанса?
Этот вид вещей был реализован на тысячах сайтов, поэтому просто интересно, какое это решение здравого смысла. Извините, если этот вопрос задан раньше. В этом случае мы с благодарностью будем ссылаться на ответ.
Кроме того, я на Node.js и использование hello.js в случае, если есть стек-конкретное решение
Благодаря
Я понимаю, что в моем предположении есть неотъемлемая проблема. hello.js позволяет мне выполнять аутентификацию на интерфейсе (с помощью стороннего прокси-сервера). Поскольку мой сервер никогда не видит обмен токенов, он полагается на клиенту, чтобы сказать ему, что он был аутентифицирован, и именно там я укомплектован этим подходом. Вместо этого я закончил использование passport.js, который является проверкой подлинности на сервере. – kane