我开发了一个简单的 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_token
和 api_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/