Rails,验证社交网络用户ID

时间:2015-12-24 06:14:02

标签: ruby-on-rails ruby

我的用户可以在其中存储来自VK,Facebook或Google +等社交网络的user_ids的字段。

如果有人向我发送了facebook的内容,如8978978979,我怎么知道它确实是facebook的用户?我是否需要为每个社交网络使用api来确定它?

2 个答案:

答案 0 :(得分:1)

  

我是否需要为每个社交网络使用api来确定它

如果您的意思是想要检查您收到的id是否确实与社交网络相对应,那么您最好使用API&#39 ;对于每项服务,是的。

您最好使用before_create回调进行此操作,尽管如果任何延迟,同步调用外部API可能会导致问题:

#app/models/user.rb
class User < ActiveRecord::Base
   before_create :check_user

   private

   def check_user
      #check apis
   end
end

当然,没有任何代码/实现,我无法具体告诉您需要什么。以上是我开始的地方,但您必须添加大量配置才能使其正常运行。

答案 1 :(得分:0)

事情仅基于Id,除非您还没有存储提供商,否则您无法确定特定用户是否属于哪个用户。

如果是 Facebook Google+ 的Auth Hash,或者您可以使用任何其他社交媒体。

你必须存储

1: provider => 'provider_name'

2: uid => 'uid_for_user'

希望我回答你的问题!!!