我正在使用基于facebook的移动应用程序。该应用程序通过Facebook登录创建本地用户。申请步骤如下。
注意:
问题:
我必须验证经过身份验证的用户和已投票的用户是否为Facebook上的朋友。用户必须由其朋友投票。
我找到了一些解决方案,但他们也有漏洞。
例如;
我通过身份验证,我通过facebook sdk获取了所有朋友。请求是投票给这样的用户: /票/ USER_ID / vote_id 后端服务检查并验证jwt令牌,并通过经过身份验证的用户将id为user_id的用户投票为vote_id。
table structure
from_user_id,vote_id,to_user_id
所以问题是,当用户进行身份验证时,它可以从外部应用程序投票给用户,无论是否是它的朋友。这对我们来说是一个非常大的问题。所以我想知道如何验证两个用户是没有向Facebook发送请求的朋友。或者如何设计建筑物以避免这种情况。
答案 0 :(得分:0)
这可以简单地向
发出请求/me/friends/{id_of_friend}
使用当前应用用户的访问令牌。如果他们是朋友,您将获得包含朋友的ID和姓名的data
结构 - 如果他们不是朋友,data
将是一个空数组。
这当然要求两位用户都已授予您应用的user_friends
权限。