如何解决具有Devise和Rails 3的多种认证方案
| 这可能是一个常见问题,但是我在任何地方都没有看到完整的答案: 我有一个正在使用Devise在网络上进行身份验证的Rails 3应用程序,并且工作正常。所有控制器上的所有操作均已通过身份验证,并且路由均保持静态。用户被重定向到网页以输入用户名和密码,然后可以访问资源。 现在,我需要向系统添加API。大多数控制器/动作将在Web用户和API用户之间共享,但是API用户将具有不同的身份验证方案(也许是API密钥)。 因此,如果网络用户转到/projects/1/users
要查看网络上的用户,API用户应转到
/api/v1/projects/1/users
可以使用标头或参数中的参数APIKey = abcd ....看到相同的内容,以进行身份验证。
我知道解决方案是覆盖SessionController和Routes,但是在任何地方都找不到关于此的详细答案。
解决方法
通过使用令牌身份验证,您也许可以实现相同的结果:
http://rdoc.info/github/plataformatec/devise/master/Devise/Models/TokenAuthenticatable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。