0

OAuth を使用して Facebook をアプリに統合したいのですが、既存のユーザー スキーマが既に設定されています。これが私の現在のスキーマです:

# Table name: users
#
#  id              :integer         not null, primary key
#  first_name      :string(255)
#  last_name       :string(255)
#  email           :string(255)
#  created_at      :datetime        not null
#  updated_at      :datetime        not null
#  password_digest :string(255)
#  remember_token  :string(255)
#  admin           :boolean         default(FALSE)
#

Railsを使用してFacebook認証を追加する最良の方法は何ですか?

4

1 に答える 1

0

これを行うには、まだいくつかの方法があります。

  1. ユーザーが Facebook にログインする際に使用する電子メールを使用して、ユーザーの Facebook アカウントとサイト アカウント間の接続を確立します。

  2. ユーザー データベースに新しい列を追加します (uid と呼ばれ、string 型)。oauth を使用すると、一意の識別子を含む、ユーザーに関する情報のハッシュが返されます。これが例です。この uid を保存して、後でログインする方法として使用できます。

これらの実装の選択に関係なく、omniauth gem とomniauth-facebook gem (プロバイダーごとに異なる gem が必要です) を使用する必要があります。詳細については、プロジェクトの wiki を参照してください。使い方はとても簡単です。あなたの場合、それを機能させるには、次の 2 つの gem を Gemfile に追加するだけです。

gem 'omniauth'
gem 'omniauth-facebook'

次に、戦略をセットアップするためのファイルを作成します。規則では、omniauth.rb という名前を付けています。

# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, FACEBOOK_KEY, FACEBOOK_SECRET
end

API キーと API シークレットを取得するには、oauth 接続を処理する Facebook アプリを作成する必要があります。https://developers.facebook.com/appsにアクセスして作成してください。次に、これらの設定を編集することを忘れないでください。

Settings>Basic>Website>Site URL:
  http://localhost:3000/ for development/testing
  your_website_callback_url for production
于 2012-06-10T22:52:45.263 に答える