【发布时间】:2014-01-19 02:37:13
【问题描述】:
我使用登录单个用户的 Facebook-omniauth gem 在 user.rb 中有以下代码:
def self.from_omniauth(auth)
where(auth.slice(:provider, :fb_id)).first_or_initialize.tap do |user|
user.provider = auth.provider
user.fb_id = auth.uid
user.name = auth.info.name
user.first_name = auth["info"]["first_name"] unless auth["info"].blank?
user.last_name = auth["info"]["last_name"] unless auth["info"].blank?
user.picture_url = auth.info.image
user.email = auth.info.email
user.oauth_token = auth.credentials.token unless auth["info"].blank?
user.location = auth.info.location unless auth["info"].blank?
user.save!
end
我想为多个 facebook 用户建立用户帐户。当我正常登录但其他人登录时,该应用程序将替换我的用户实例。有没有办法通过这个 gem 继续建立用户帐户?
谢谢!
【问题讨论】:
-
嗯 - 我对这个问题有点困惑。你能举个例子说明你正在尝试做什么吗?
-
我是否需要像 Devise 这样的用户管理 gem 才能拥有多个 Facebook Omniauth 用户?似乎总是只有 1 个用户,最后一次登录。
-
我想要做的是当另一个用户登录时,它们被保存在用户数据库中,而不是覆盖第一个用户。 @wyclin 够清楚吗?
标签: ruby-on-rails facebook ruby-on-rails-4 omniauth