質問

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

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

OAuth-Plugin Serverの実装を開始として使用しようとしています。

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

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

2本足をサポートするために変更をさらに掘り下げる前に、より簡単な方法があるかどうか、または誰かが2本足の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サーバーを生成し、プラグイン(ほんの数回のモジュールに相当するメソッドです)から依存関係を抽出し、プラグインをゴミ箱に捨てることです。次に、すべてをニーズに合わせて調整します。とにかく3本足よりも簡単であるため、2本足のOAuthは大きな問題ではないはずです。そして、とにかく大幅な変更がなければ、Oauth-Pluginは最近では使用できないと感じています。

とにかく、Oauthの肉は長い間ベースOauth Gemに抽出されてきたため、Oauth-Pluginは一種の範囲です。アーキテクチャは、使用している認証システムと、生成されたコードの日付について、いくつかの強引な仮定を行っています。私にとって、Oauth-Pluginは、ほとんどのサイトが箱から出したいものではなく、すべてを配線する方法の例としてもっとサービスを提供しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top