0

認証プラグインとして Restful 認証を使用するサイトがあります。Facebook コネクトを統合する必要があります。Facebook はユーザーに電子メール アドレスを提供しません (ユーザーが同意した場合のみ)、もちろんパスワードも提供しません。

主な問題は、User モデルにvalidates_**(Restful 認証モジュールからの) これら 2 つのフィールドが多数あることです。もう 1 つの小さな問題は、電子メール アドレスに依存する多くのコード (ユーザーの作成後に電子メールを送信するオブザーバーなど) が既にあることです。facebook_connect チュートリアルにある解決策は、検証をバイパスしてユーザー モデルを保存することでしたが、これは非常に間違っています。

User モデルをどのように再設計して、いずれかまたは両方の認証方法(標準および/または facebook_connect) を含めますか?

  1. すべての検証をリファクタリングし (:unless => :is_facebook_user を使用)、オブザーバーに条件を設定するなど。

  2. User テーブルに STI を実装します (それぞれにカスタム認証モジュールを持つ StandardUser / FacebookUser があります)

  3. standard_user および facebook_user への多態的な参照を持つユーザー テーブル

  4. その他のアイデア

「標準」アカウントを「facebook」アカウントにリンクする機能も必要であり、これが複雑になることに注意してください。

参考文献:

http://crazyviraj.blogspot.com/2010/01/test-cases-for-basic-facebook-connect.html

http://blog.yangtheman.com/2009/08/23/how-to-integrate-facebook-connect-with-a-rails-app/comment-page-1/

4

1 に答える 1

1

ここから始める良い例です。

于 2011-02-09T12:41:26.490 に答える