如何验证两个Facebook用户的用户

时间:2015-10-07 18:02:55

标签: java facebook facebook-sdk-4.0

我正在使用基于facebook的移动应用程序。该应用程序通过Facebook登录创建本地用户。申请步骤如下。

  1. 使用Facebook登录
  2. 后端服务创建本地用户
  3. 查找使用The App By Facebook SDK的朋友
  4. 投票给你的朋友
  5. 注意:

    1. 我不想让用户朋友加入我的数据库系统
    2. 我使用JWT
    3. 问题:

      我必须验证经过身份验证的用户和已投票的用户是否为Facebook上的朋友。用户必须由其朋友投票。

      我找到了一些解决方案,但他们也有漏洞。

      例如;

      我通过身份验证,我通过facebook sdk获取了所有朋友。请求是投票给这样的用户: /票/ USER_ID / vote_id 后端服务检查并验证jwt令牌,并通过经过身份验证的用户将id为user_id的用户投票为vote_id。

      table structure
      
      from_user_id,vote_id,to_user_id 
      

      所以问题是,当用户进行身份验证时,它可以从外部应用程序投票给用户,无论是否是它的朋友。这对我们来说是一个非常大的问题。所以我想知道如何验证两个用户是没有向Facebook发送请求的朋友。或者如何设计建筑物以避免这种情况。

1 个答案:

答案 0 :(得分:0)

这可以简单地向

发出请求
/me/friends/{id_of_friend}

使用当前应用用户的访问令牌。如果他们是朋友,您将获得包含朋友的ID和姓名的data结构 - 如果他们不是朋友,data将是一个空数组。

这当然要求两位用户都已授予您应用的user_friends权限。