2012-02-21 62 views
0

我有一款应用程序可以在iOS和Android手机上访问。该应用程序有一个社交组件,所以人们正在向我的服务器发送数据。我应该实施什么样的Facebook身份验证?

我也有这个应用程序的接口,将通过Facebook访问。

当登录到经由移动装置应用程序,使用所述本机应用该装置中,一个可以只登录与标准的用户名和密码。

但是,很明显,如果用户访问了Facebook应用程序,他们会期望已经被登录,因为他们已经登录到Facebook上。

所以我需要让这个我的应用程序可以从Facebook在采取日志,几乎自动(?)谁是它从在Facebook未来的用户。

而且,有可能(我敢说“可能”?)的用户可以从Facebook和应用程序的移动版本之一访问接口。在这种情况下,我需要能够确保他们在设备上使用的用户名/密码身份验证指向与其Facebook登录相关的同一帐户。

所以...所有的说...我应该研究和实施什么样的Facebook认证。我现在正在查看他们的文档,并且像所有文档一样,这并不容易掌握。有服务器端(认证码流?)和客户端(隐式流?),以及认证令牌,而且我已经有点迷路了。

另外,我认为Facebook的做法是希望完全接管我的登录过程,而不是与仅使用我的移动设备登录同时使用,但我想确保用户可以选择不如果他们不想要使用Facebook身份验证。

有人能指出我如何做到这一点的正确方向吗?基本上让我知道我应该关注哪个部分的文档。

我有什么需要注意的问题吗?

回答

2

你的服务器将收到signed request当你app on facebook.com加载;从这里你可以找到用户的FB uid。

如果您为移动设备客户端的用户获取FB uid,您将能够在移动设备& facebook.com客户端之间匹配您应用的帐户。

bottom of the main authentication docs page给出环节,进一步文档不同的客户类型。 main mobile authentication page的侧边栏链接指向Android的iOS &的教程& SDK。或者,您可以使用服务器端OAuth流程,因为您的设备具有支持此功能的浏览器。

在移动设备上完成身份验证后,获取uid很简单。

您也可以使用Facebook身份验证流程而不是您自己的用户名/密码身份验证。