【发布时间】:2015-10-07 18:02:54
【问题描述】:
我正在开发一个基于 facebook 的移动应用程序。该应用程序通过 facebook 登录创建本地用户。申请步骤如下。
- 用脸书登录
- 后端服务创建本地用户
- 通过 Facebook SDK 查找使用该应用的朋友
- 投票给你的朋友
注意事项:
- 我不想在我的数据库系统上保留用户朋友
- 我使用智威汤逊
问题:
我必须验证经过身份验证的用户和投票用户是 Facebook 上的朋友。用户必须由其朋友投票。
我找到了几个解决方案,但它们也存在漏洞。
例如;
我通过 facebook sdk 进行了身份验证并获取了我所有的朋友。请求是像这样投票给用户: /vote/user_id/vote_id 后端服务对jwt token 和id 为user_id 的投票用户进行检查验证,作为认证用户的vote_id。
table structure
from_user_id,vote_id,to_user_id
所以问题是,当用户进行身份验证时,它可以投票来自应用程序之外的用户,获取 jwt 令牌,无论它是否是它的朋友。这对我们来说是一个非常大的问题。所以我想知道如何验证两个用户是朋友而不向 Facebook 发送请求。或者如何设计架构来避免这种情况。
【问题讨论】:
标签: java facebook facebook-sdk-4.0