3

Railsは初めてで、Facebookと統合されたシンプルなアプリを作成しようとしています。Railsのチュートリアルを実行しましたが、フレームワークとしてはかなり快適です。Facebookのものを処理するためにコアラフレームワークを使用しています。

現在、2つのコントローラーがあります。1つはアプリの基本的なユースケースを処理するためのもので、もう1つはユーザーアカウントを処理するためのものです。基本的なユースケースでは、単にサイトを閲覧する以外のことを行うためにユーザー認証が必要です。Facebookを介してその認証を提供したいと思います。私が探しているのは、ユーザーがFacebookに初めてログインするときに、ユーザーをアプリに「登録」することです。私のユーザーモデルが定義するのはfacebook_idフィールドだけです。私の知る限り、登録を開始するには、Facebookからアプリへの何らかのコールバックが必要になる場合があります。また、拡張機能をユーザーに提供できるように、ユーザーがいつログインしたかを判断できる必要があると思います。私の理解では、これはbefore_filterとして実装できるので、これまでのところ次のようになっています。

# ApplicationController 
def authenticate 
  @facebook_cookies ||= Koala::Facebook::OAuth.new.get_user_info_from_cookie(cookies) 
end

#PacksController - the app's actual functionality 
class PacksController < ApplicationController 
  before_filter :authenticate, :except => [:index, :show] 
  def index 
    .. 
  end 
  def show 
    .. 
  end 
  def new 
    .. 
  end 
  def create 
    .. 
  end 
end 

Facebook自体の非同期の例に従って、application.html.erbにFacebookログインボタンを配置しました。これは間違っているかもしれないと思いますが、完全にはわかりません。たとえば、コールバックURLを使用する必要がある場合、これにはコールバックURLが含まれていないようです。また、 https://github.com/arsduo/koala/wiki/Koala-on-Railsに従ってfacebook.ymlファイルを構成し、 callback_urlパラメーターも追加してみました(これが有効かどうかさえわかりません)コアラの設定ディレクティブ...)。

GitHub wikiとGoogledをよく読んだのですが、行き詰まっているように感じます。私がやろうとしていることは可能ですか?不明な点がある場合は申し訳ありません。

4

1 に答える 1

4

コアラに加えてOmniAuthgemhttps://github.com/intridea/omniauth/wikiを使用して、OmniAuthユーザー登録を処理させてみませんか?

これは、それを実行する方法に関する優れたチュートリアルですhttp://sleekd.com/tutorials/setting-up-omniauth-authentication-with-facebook/

于 2011-08-29T08:28:17.667 に答える