使用/不使用OAuth和OpenID构建API

时间:2012-05-15 18:23:32

标签: ruby-on-rails ruby api oauth openid

我需要开发一个API作为Web APP的核心。 我最初的想法是创建一个REST API来处理所有请求,然后为Web,移动和桌面创建一些客户端。

我的问题是,我应该如何管理这种情况的身份验证? 我想过使用一个令牌,该令牌将与REST API的所有请求一起传递。 在我的情况下,我不想拥有像OAuth这样的东西,因为生态系统不会有像Facebook / Twitter这样的多个应用程序。 注意:我必须将API与Web客户端分开。

更多细节,我会请求POST / users / auth传递他们的密码和用户名,并接收身份验证令牌。

这是一种好方法还是有更好的方法?

2 个答案:

答案 0 :(得分:3)

同意Devise对于应用程序中的auth非常有用。对于API级别,3scale可以帮助很多(http://www.3scale.net) - 它负责速率限制,密钥,oauth秘密分发,分析,开发人员门户和其他东西。这里有一个ruby插件:https://github.com/3scale/3scale_ws_api_for_ruby

答案 1 :(得分:1)

Devise是一个出色的gem,用于处理rails应用程序中的身份验证。它还提供基于令牌的身份验证。您可以在网上找到许多资源(例如here)解释如何使用它。毫无疑问,它适合您的情况。