Ruby on rails 使用现有用户模式设置facebook身份验证模式
我想通过OAuth将facebook集成到我的应用程序中,但我已经设置了一个现有的用户模式。以下是我当前的模式:Ruby on rails 使用现有用户模式设置facebook身份验证模式,ruby-on-rails,facebook,authentication,oauth,Ruby On Rails,Facebook,Authentication,Oauth,我想通过OAuth将facebook集成到我的应用程序中,但我已经设置了一个现有的用户模式。以下是我当前的模式: # Table name: users # # id :integer not null, primary key # first_name :string(255) # last_name :string(255) # email :string(255) # created_at
# 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添加FacebookAuth的最佳方法是什么?仍然有几种不同的方法供您使用
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机密,您需要创建一个Facebook应用程序来处理oauth连接。因此,继续前进,创造它。然后不要忘记编辑这些设置:
Settings>Basic>Website>Site URL:
http://localhost:3000/ for development/testing
your_website_callback_url for production
这取决于几个因素。是否允许用户使用两个不同的facebook帐户登录到同一帐户?您是否考虑在将来添加其他身份验证方法?理想情况下,我希望他们能够使用一个电子邮件帐户登录,并连接facebook帐户,以便我可以使用社交图扩展网站。您是否曾经使用过此方法?否。我不确定存储/重新生成访问令牌的正确方法是什么来自facebook的uid