如何检查用户是否使用omniauth登录
我有一个应用程序在设计和omniauth运行用户注册。 但是当有人使用omniauth登录facebook时,我想为该用户显示一些额外的信息。 但是,我找不到一种方法来确定该用户是否已使用Facebook登录。
我相信它与devise_helper(user_signed_in?)有关,但我不知道如何在omniauth中使用它。
user.rb
def self.find_for_facebook_oauth(auth) where(auth.slice(:provider, :uid)).first_or_initialize.tap do |user| user.name = auth.info.name user.provider = auth.provider user.uid = auth.uid user.email = auth.info.email user.password = Devise.friendly_token[0,20] user.username = auth.info.email user.token = auth.credentials.token user.save! end end
devise.rb
config.omniauth :facebook, ENV["APP_ID"], ENV["APP_SECRET"], {:scope => 'email, offline_access', :client_options => {:ssl => {:ca_file => '/usr/lib/ssl/certs/ca-certificates.crt'}}}
码
- OmniAuth before_filter要求登录
- Rails:使用OmniAuth(FB授权),从Facebook Hash读取数据
- Rails 3 – 使用OmniAuth设计 – 登录后重定向转到/ users / sign_in
- 什么是omniauth和电子邮件密码注册最佳实践?
- User.find_for_oauth – 我在哪里可以找到它?
- 有没有人使用omniauth与rails 2.3.8?
- Rails:在Omniauth使用Devise登录后从Facebook检索图像
- 你如何在Rails 2.2上实现OmniAuth?
- 未初始化的常量User :: Authorization | omniauth