Facebook Connect可通过个人API进行身份验证

时间:2011-01-27 15:03:39

标签: 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_token

交换api_token

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

2 个答案:

答案 0 :(得分:5)

以下是我最终的表现。它工作了一年多,从来没有任何问题。我们的想法是使用以下API调用来交换令牌:

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

答案 1 :(得分:0)

http://developers.facebook.com/docs/authentication/

最佳实施方案自然取决于您当前的平台。例如,有几个Ruby on Rails gems可以处理整个Open Authentication位。