Войдите через Twitter и оставайтесь в системе (PHP) - PullRequest
5 голосов
/ 01 апреля 2011

Я создаю сайт, на котором пользователям нужно будет зарегистрироваться для участия. У меня крайний срок, и я действительно не хочу писать всю систему регистрации пользователей / входа в систему, поэтому я думаю, что позволю API-интерфейсу Twitter справиться с этим. Я зарегистрировал приложение в Твиттере, и у меня есть правильный код PHP, чтобы позволить пользователям войти в систему и разрешить доступ к моему приложению. Дело в том, что я не хочу, чтобы пользователям приходилось входить в систему каждый раз, когда они посещают сайт, я хотел бы реализовать опцию «оставаться в системе», у меня просто возникают трудности с выяснением, как это сделать.

Я мог бы просто сохранить oauth_token и oauth_token_secret в cookie и просто читать cookie каждый раз, когда кто-то посещает сайт. Наличие (или отсутствие) этих значений cookie будет определять, авторизован ли человек с помощью твиттера. Конечно, это простой подход, и плохие вещи могут случиться, если пользователи решат возиться с cookie.

Другой подход заключается в том, чтобы сохранить только cookie-файл oauth_token и сохранить oauth_token и oauth_token_secret в моей базе данных. Когда пользователь заходит, я проверяю значение cookie и, если он присутствует, проверяю в базе данных соответствующее значение и извлекаю секретный токен, но все равно может произойти сбой, если пользователь когда-нибудь завладеет чужим ключом oauth_token.

Последний вариант заключается в том, чтобы хранить и токен, и токен_секрет в базе данных и генерировать уникальное случайное значение, возможно, выполнить несколько произвольных операций с ним, чтобы еще больше его скрыть, может быть, md5 (), и сохранить значение THAT в cookie. а также в базе данных.

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

1 Ответ

6 голосов
/ 01 апреля 2011

Часть «оставаться в системе» может быть обработана вами. Вы заставляете пользователя войти через твиттер в первый раз, а затем установить куки. В будущем вы проверяете, установлен ли файл cookie, и, если да, используйте его для автоматического входа в систему, а в случае неудачи предлагают Twitter для входа.

Вам не нужно заставлять твиттер делать частичную регистрацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...