首页 > 解决方案 > 在 Rails 中查看用户通过 Facebook 注册的天气

问题描述

我使用了omniauth-facebook gem。想要查找用户是否使用 facebook 提供商登录的天气。

我的代码

def sign_in_user_and_redirect(user, identity_id)
   UserIdentity.increment_counter(:sign_in_count, identity_id)
   user.link_browser_id cookies.signed[:uuid]
   sign_in_and_redirect user
   session['devise.user_attributes'] = user.attributes
end

如何查找用户会话是使用 facebook 登录还是普通用户。

标签: ruby-on-rails

解决方案


`def sign_in_user_and_redirect(user, identity_id)
   UserIdentity.increment_counter(:sign_in_count, identity_id)
   user.link_browser_id cookies.signed[:uuid]
   sign_in_and_redirect user
   session[:logged_in_using_omniauth] = true
end`

添加了助手 user_helper.rb

`def logged_in_using_omniauth?
  session[:logged_in_using_omniauth].present?
 end`

用法

`unless logged_in_using_omniauth?`

推荐阅读