#ruby-on-rails
Вопрос:
Я использую Facebook, GMail и многие другие сервисы, и для каждого такого сервиса я должен ввести свой логин и пароль. Но только в первый раз. После этого в первый раз браузер запоминает логин и пароль, и аутентификация происходит автоматически каждый раз, когда я открываю этот сайт.
Как я могу сделать это возможным для моего сайта? Теперь я должен вводить логин / pwd каждый раз после перезапуска браузера.
Ответ №1:
Найдите в Интернете «cookie login». Такие вещи, как authlogic и devise (поскольку вы упомянули Rails), имеют это (кхм). Скорее всего, вам не следует использовать свой собственный код аутентификации.
Комментарии:
1. Спасибо за ваш ответ! У меня есть два сайта — один с моим собственным кодом аутентификации, а другой с authlogic. Оба работают без входа в систему cookie. Просто погуглил это с помощью rails и authlogic, но безуспешно. Можете ли вы дать мне какую-либо ссылку?
2. @cockroach-eater В документах authlogic обсуждается использование файлов cookie, а его примерное приложение включает функции cookie.
3. Спасибо за помощь! Просто объясните, как включить запоминание:
@user_session.remember_me = true
4. @пожиратель тараканов не парится. Не забудьте принять / проголосовать за полезные ответы.
Ответ №2:
Я бы рекомендовал использовать Devise для аутентификации в целом.
Хотя вы, вероятно, можете без проблем кодировать свои собственные функции аутентификации, Devise значительно ускоряет развертывание этих новых функций. Например, нетрудно настроить эти функции:
- Сделать «Запомнить меня» необязательным, чтобы пользователи могли выбирать, оставаться ли они в системе, используя постоянный файл cookie.
- Автоматический вход в систему с использованием URL-адреса на основе токенов (уникальный токен для каждой учетной записи пользователя)
- Интеграция с facebook, Twitter, linkedin и т. Д. Через Omniauth
- Позволяет пользователям сбрасывать свои пароли
- Изменение правил безопасности паролей
- и т.д. и т.п. и т.п.
Более того, поскольку он очень широко используется, он очень надежный и отлаженный. Есть много, много «глаз на коде».