Devise Omniauth找到已删除的用户

时间:2014-05-04 04:47:07

标签: ruby-on-rails facebook devise omniauth

我在安装认证后使用了omniauth。我安装了omniauth-facebook,我能够成功登录facebook。我从数据库中删除了用户记录,并通过facebook的设置删除了我给应用程序的权限。

我遇到的问题是,当我尝试使用相同的Facebook帐户返回并注册其他用户帐户时,应用程序认为它仍在数据库中。

服务器日志

  User Load (0.4ms)  SELECT  "users".* FROM "users"  WHERE "users"."provider" = 'facebook' AND "users"."uid" = '12345'  ORDER BY "users"."id" ASC LIMIT 1
   (0.1ms)  BEGIN
  User Exists (0.3ms)  SELECT  1 AS one FROM "users"  WHERE "users"."email" = 'example@yahoo.com' LIMIT 1
   (0.1ms)  ROLLBACK

用户模型中的代码实现

  def self.from_omniauth(auth)
    where(auth.slice(:provider, :uid)).first_or_create do |user|
      user.provider = auth.provider
      user.uid = auth.uid
      user.full_name = auth.info.name
      user.remote_avatar_url = auth.info.image
      user.email = auth.info.email
    end
  end

我也试过重置数据库。

0 个答案:

没有答案