我创建了一个使用OmniAuth gem提供OAuth身份验证的Rails(3.2)应用程序。 用户可以使用自己的Twitter,Facebook或Google凭据登录到该站点,这是非常糟糕的标准功能。
我现在想通过API提供数据,以便可以在我的Web应用程序之外使用它,但是,用户仍然必须登录才能访问其数据。 如何在Rails APP中执行此操作? 用户必须怎么做才能拨打电话?
更新有些人建议使用“替代”身份验证方法,但是我想知道我是否不能使用已经为它们使用的相同OAuth凭据。 我不想他们必须提供其他用户名/密码,我希望他们能够像使用WebUI一样使用其Twitter,Facebook或Google身份。
从控制器中的before过滤器调用的authenticate_with_http_basic(如果需要,也可以摘要)可能对您有用。
您可以使用--user参数对curl进行测试。
这是一个关于该主题的好线程: 在Ruby on Rails中,authenticate_with_http_basic有什么作用?