3

プロジェクトで Zend Framework を使用しており、認証専用のコントローラーを作成しています。このプロジェクトでは、ユーザーが facebook、twitter、myspace などの他のサイトのアカウントを通じてサインアップすることを受け入れます。このために、OAuth を使用します。しかし、各 OAuth サイト関連の認証のロジックをどこに置くべきか疑問に思っています。たとえば、facebook だけが私のコントローラーで 50 行のコードを占有していました。このようにして、私のコントローラーは薄くなりません...

これをどこに置こうか迷っています。サイトごとに Zend_Auth アダプターを作成し、これにのみサービスを作成します。最善の方法は何ですか?

そして、下手な英語で申し訳ありません。:)

4

2 に答える 2

1

OAuth ロジックは、すべてのビジネス ロジックと同様に、モデル内に存在する必要があります。コントローラーは、プログラム フローを制御し、ビュー スクリプトで使用するビュー変数をセットアップする必要があります。

よろしく ギャリー

于 2011-06-04T08:37:09.917 に答える
1

JF Austinには、 Zend_Oauth_Consumerを使用するかなり一般的な OAuth 認証アダプターの実装があります。Twitter や Facebook などのためにこれの特定のサブクラスを作成するのは、そこから簡単なようです。彼はすでにTwitter アダプターを持っているようです。アダプターの使用については、彼のブログ投稿で説明されています。

または、 Lloyd Watkinによるこれに注意してください。

結論: すべての OAuth ロジックは、これらのアダプター内に埋め込まれています。次に、コントローラーはこの認証アダプターをインスタンス化しZend_Auth::authenticate($adapter)、それを にフィードして、返された結果に基づいてアクションを実行し、コントローラーを上位レベルのアプリの配線に集中させます。

于 2011-06-04T10:05:56.840 に答える