api - Facebook Connect 在个人 API 上进行身份验证

标签 api authentication facebook

我开发了一个简单的 API 来允许我的 Android/iPhone 应用程序和我的服务器之间进行通信。在我的应用程序中,用户需要对自己进行身份验证,他们使用登录名/密码凭据和以下 API 调用来完成此操作:

http://api.myapp.com/login?user=xxx&pass=pass

应用收到返回:

{ "api_token": "xxxx-xxxx-xxxx-xxxx" }

所以基本上我用 api_token 交换我的凭据。

我想添加 Facebook 连接支持。我已成功使用 Facebook SDK 并收到正确的 access_token

但是,我需要实现一种机制来交换 access_tokenapi_token

假设用户已经将他的帐户与 Facebook 连接(在他的网络用户面板上),进行交换的最佳实现是什么?

最佳答案

这是我最终做到的。一年多来一直很好用,从来没有出过问题。这个想法是使用以下 API 调用来交换 token :

http://api.myapp.com/login/facebook?access_token=<facebook_access_token>

服务器端,你用一个简单的验证access_token的有效性

wget -qO- https://graph.facebook.com/me?access_token=<facebook_access_token>

它会向您发回一个包含所有用户信息的 JSON,包括用户的 Facebook ID。假设用户已经将他的帐户连接到 Facebook,您可以查找 user_id 并发回 api_token

关于api - Facebook Connect 在个人 API 上进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4817991/

相关文章:

php - 使用 Facebook PHP API 发表评论

ios - 如何解决在 swift 中使用 Alamofire 从 API 中提取数据时的无效 json 问题?

javascript - 向 getScript jQuery 函数添加额外数据

node.js - Node js - 用户身份验证,在 session 中存储什么?

ruby-on-rails-3 - 在 cucumber 步骤定义中向 Controller 发送删除请求

javascript - 实现选择加入 Facebook 点赞按钮

iphone - 在 iPhone 上通过 Web 服务使用 CMS 内容

node.js - 通过 Postman Newman 并行运行多个请求以对 API 进行负载测试

security - Azure ACS - 浏览器历史记录中公开的声明 URL - 安全漏洞?

ios - 在 iOS Social Framework 中使用 Graph API 获取 Facebook 好友的图片时出错