Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 限制来自同一用户的多个登录_Ruby On Rails_Ruby_Ruby On Rails 4_Devise_Omniauth Facebook - Fatal编程技术网

Ruby on rails 限制来自同一用户的多个登录

Ruby on rails 限制来自同一用户的多个登录,ruby-on-rails,ruby,ruby-on-rails-4,devise,omniauth-facebook,Ruby On Rails,Ruby,Ruby On Rails 4,Devise,Omniauth Facebook,我已经为我的rails应用集成了Facebook和Google登录,我如何限制同一用户使用不同的帐户登录?基本答案是:你不能,因为你不能确定你会在双方找到相同的信息(例如:我可能在Facebook上使用一封电子邮件,在Google上使用另一封,或者其中一封可能不公开,等等) 一个很好的猜测是,使用简单的验证来防止创建与另一个用户“太相似”的用户: class User < ActiveRecord::Base validates :email, uniqueness: true # c

我已经为我的rails应用集成了Facebook和Google登录,我如何限制同一用户使用不同的帐户登录?

基本答案是:你不能,因为你不能确定你会在双方找到相同的信息(例如:我可能在Facebook上使用一封电子邮件,在Google上使用另一封,或者其中一封可能不公开,等等)

一个很好的猜测是,使用简单的验证来防止创建与另一个用户“太相似”的用户:

class User < ActiveRecord::Base
  validates :email, uniqueness: true # check that no one has the same email
  validates :first_name, uniqueness: { scope: :last_name } # check no double in first name + last name
...
end
class用户
验证
电子邮件的
唯一性
名字+姓氏的组合