我有一个Rails 2.3.5应用,我希望保护API。

没有用户 - 它是应用程序样式Web服务的应用程序(更像是亚马逊服务而不是Facebook),因此我想使用两腿OAuth方法实现它。

我一直在尝试将OAuth-Plugin服务器实现作为开始:

http://github.com/pelle/oauth-plugin

...但是它是构建的,期望三足(Web重定向流)OAuth。

在我更深入地进行更改之前,我想看看是否有一种更简单的方法,或者有人是否有更好的方法可以使Rails应用程序实现为两足的Oauth提供商。

有帮助吗?

解决方案

以前,唯一的好答案是在Oauth-Plugin中侵犯以获取OAuth相互作用的这一子集。从那时起,对OAuth-Plugin进行了重构,现在您可以直接使用它,只需在控制器中添加正确的身份验证过滤器:

class ApiController < ApplicationController

    include OAuth::Controllers::ApplicationControllerMethods

    oauthenticate :strategies => :two_legged, :interactive => false

    # ...

end

其他提示

我目前还不知道Oauth-Plugin的任何替代方法,尽管它肯定会长时间牙齿越来越长,并且已经成熟了。我的建议是从OAuth-Plugin生成OAuth服务器,然后从插件中提取依赖项(仅是几个模块的方法)并丢弃插件。然后调整一切满足您的需求。 2腿的Oauth不应该是一个大问题,因为无论如何它比三足动物要简单,而且我的感觉是,无论如何,如今,如果没有重大修改,那么如今无法使用。

无论如何,Oauth的肉长期以来一直被提取到Oauth宝石中,因此Oauth-Plugin陷入困境。该体系结构对您正在使用的身份验证系统进行了一些沉重的假设,并且生成的代码已日期。因此,对我来说,Oauth-Plugin更多地是如何将所有内容连接起来的示例,而不是大多数站点想要使用的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top