【发布时间】:2016-11-09 14:20:04
【问题描述】:
我正在构建一个 Restful API (PHP) 来为 iOS 和 Android 应用程序提供服务,我想在这两个应用程序上实现 facebook 登录。
缺陷如下:
- 客户端(ios 或 Android)使用 facebook 登录并将 access_token 发送到 restful api
- 验证 access_token 是否被授权使用应用程序
- 如果令牌有效,则从图表中获取用户数据。
- 合并帐户并为不同的查询生成令牌。
为了安全起见,避免获得不属于我的APP的随机令牌,我想进行测试调用以检查令牌是否已授权且有效?
我知道可能已经回答了许多类似的问题,但没有一个能真正给我正确的答案,而且我也没有使用 facebook graph 的经验。
我找到了这个解决方案:
https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=SECRET_APP_ID&grant_type=fb_exchange_token&fb_exchange_token=ACCESS_TOKEN
这以某种方式工作.. 它是否给我一个错误或访问令牌(字符串格式不是 JSON),我不确定这是否是最好的测试方法。
注意:我还处于早期开发阶段,如果您对我的流程有任何建议,请告诉我,我可能做错了?
【问题讨论】:
-
“随机”令牌无论如何都不起作用。只需使用您获得的访问令牌请求用户详细信息 - 如果它因为有人试图“伪造”它而无效,那么 API 响应会告诉您。 // 文档中有一章是关于保护 API 请求的,你也可以去看看:developers.facebook.com/docs/graph-api/securing-requests
-
太棒了!现在我为我的服务器调用添加了一个 appsecret_proof,它运行良好我认为随机令牌不能再工作了:D 你可以添加你的评论作为答案,以便我可以接受吗?谢谢:)
标签: php facebook rest facebook-graph-api restful-authentication