5

保護したいAPIを備えたRails2.3.5アプリケーションがあります。

ユーザーは存在しません。これはアプリからアプリへのスタイルのWebサービス(FacebookよりもAmazonサービスに似ています)なので、2本足のOAuthアプローチを使用して実装したいと思います。

私は最初にoauth-pluginサーバーの実装を使用しようとしています:

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

...しかし、3本足(Webリダイレクトフロー)のOAuthを期待して構築されています。

2本足をサポートするために変更を加える前に、もっと簡単な方法があるかどうか、またはRailsアプリが2本足のOAuthプロバイダーであることを実装するためのより良いアプローチがあるかどうかを確認したいと思いました。

4

2 に答える 2

8

以前は、唯一の良い答えは、oauth-pluginをハックして、oauthインタラクションのこのサブセットを取得することでした。それ以来、oauth-pluginはリファクタリングされ、コントローラーに適切なタイプの認証フィルターを追加するだけで、すぐに使用できるようになりました。

class ApiController < ApplicationController

    include OAuth::Controllers::ApplicationControllerMethods

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

    # ...

end
于 2011-02-28T17:23:36.600 に答える
5

現時点では、oauth-pluginに代わるものはありませんが、確実に長くなり、交換の準備が整っています。私の推奨事項は、oauth-pluginからoauthサーバーを生成し、プラグインから依存関係を抽出して(これは、メソッドの数モジュールに相当します)、プラグインを破棄することです。次に、必要に応じてすべてを微調整します。2本足のoauthは、とにかく3本足よりも単純なので、大きな問題にはならないはずです。私の感じでは、oauth-pluginは、とにかく大幅な変更を加えないと、最近は使用できません。

とにかく、OAuthの肉はベースのoauth宝石に長い間抽出されてきたので、oauth-pluginは一種の手に負えないものです。アーキテクチャは、使用している認証システムについていくつかの手間のかかる仮定を行い、生成されたコードは日付が付けられています。したがって、私にとって、oauth-pluginは、ほとんどのサイトが箱から出して使用したいものではなく、すべてを接続する方法の例として機能します。

于 2010-05-05T17:48:15.140 に答える