Аутентифицируйся по «коду доступа», используя Devise в Rails 3 - PullRequest
3 голосов
/ 12 июня 2011

Я работаю над проектом rails, и было рекомендовано использовать Devise для аутентификации и управления сеансами пользователей.

У меня есть два типа пользователей, которым требуется аутентификация по паролю и пользователю, и другой тип пользователя, которыйнужно только аутентифицироваться с помощью «кода доступа».Это разные модели без наследования.

Как лучше всего это сделать в Devise?Есть ли способ, чтобы все эти разные типы аутентификации работали бок о бок?

Я смотрел на то, чтобы разрешить пользователям входить в систему, используя имя пользователя или адрес электронной почты, но как мне сделать это, используя только одно поле?Пароль не используется.

1 Ответ

1 голос
/ 12 июня 2011

Использовать модуль аутентификации токена без базы данных.В вики Devise есть пример .

Эти токены, в отличие от тех, которые вы найдете, например, в письмах о восстановлении пароля, являются постоянными и хранятся в базе данных.По умолчанию они ведут себя как ключи API сервиса, что означает, что они не удерживают пользователя в сеансе и должны предоставляться при каждом запросе.

Чтобы они действительно подписывали пользователей:

# If true, authentication through token does not store user in session and needs
# to be supplied on each request. Useful if you are using the token as API token.
config.stateless_token = false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...