我正在开发一个rails项目,并建议我使用Devise进行身份验证和用户会话管理。
我有两种需要用户/密码身份验证的用户类型和另一种用户类型,我只需要使用'access_code'进行身份验证。它们是不同的模型,没有继承。
在Devise中这样做的最佳方法是什么?有没有办法让所有这些不同的身份验证类型并行工作?
我已经考虑过允许用户使用用户名或电子邮件地址登录,但我如何仅使用一个字段进行操作?没有密码。
答案 0 :(得分:1)
使用不带数据库的令牌验证模块。 Devise Wiki中有一个example。
这些令牌与您在密码恢复电子邮件中找到的令牌不同,是永久性的并存储在数据库中。它们默认表现为服务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