我创建了一个Rails(3.2)应用程序,它使用OmniAuth gem来提供OAuth身份验证。用户可以使用他们的Twitter,Facebook或Google凭据登录该网站,这是一种非常标准的功能。
我现在想通过API提供数据,以便可以在我的Web应用程序之外使用,但是,用户仍然必须登录才能访问他们的数据。我如何在我的Rails APP中执行此操作?用户需要做什么才能调用它?
UPDATE 有些人建议使用“替代”身份验证方法,但我想知道我是否不能使用我已经拥有的相同OAuth凭据。我不希望他们必须提供另一个用户名/密码,我希望他们能够像使用WebUI时那样使用他们的Twitter,Facebook或Google身份。
答案 0 :(得分:0)
authenticate_with_http_basic(或者你喜欢的摘要)可能适合你,从控制器中的before过滤器调用。
您可以使用--user参数进行curl测试。
这是关于这个话题的好主题: In Ruby on Rails, what does authenticate_with_http_basic do?
答案 1 :(得分:0)
Devise具有您正在寻找的功能令牌身份验证。
另请访问http://zyphmartin.com/blog/simple-auth-token-example-with-devise