Автоматическая аутентификация

#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
  • Позволяет пользователям сбрасывать свои пароли
  • Изменение правил безопасности паролей
  • и т.д. и т.п. и т.п.

Более того, поскольку он очень широко используется, он очень надежный и отлаженный. Есть много, много «глаз на коде».