Multiple authentication schemes with Devise and Rails 3



这可能是一个常见的问题,但我在任何地方都没有看到任何完整的答案:

我有一个Rails 3应用程序,它正在使用Devise进行网络身份验证,并且运行良好。所有控制器上的所有操作都经过身份验证,并且路由都是restful。用户被重定向到一个网页,输入他们的用户名和密码,然后可以访问资源。

现在我需要向系统添加一个API。大多数控制器/操作将在web和API用户之间共享,但API用户将具有不同的身份验证方案(可能是API密钥)。

所以,如果一个网络用户去

/projects/1/users

要在网上看到用户,API用户应该转到

/api/v1/projects/1/users

使用APIKey=abcd…这样的参数可以看到同样的情况。。。。在标头或params中,以允许身份验证。

我知道解决方案是覆盖SessionController和Routes,但在任何地方都找不到详细的答案。

您可以通过使用令牌身份验证来获得相同的结果:

http://rdoc.info/github/plataformatec/devise/master/Devise/Models/TokenAuthenticatable

相关内容

  • 没有找到相关文章

最新更新