我在安装认证后使用了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
我也试过重置数据库。