我有一个可以在手机上访问的应用程序,包括iOS和Android。该应用程序具有社交组件,因此人们将数据发送到我的服务器或从我的服务器发送数据。
我还有一个可以通过Facebook访问的应用程序界面。
通过移动设备登录应用程序时,使用该设备的本机应用程序,只需使用标准用户名和密码登录即可。
然而,显然如果用户访问Facebook中的应用程序,他们预计已经登录,因为他们已经登录到Facebook。
所以我需要做到这一点,以便我的应用程序可以从Facebook登录,几乎自动(?)为从Facebook内部来的用户。
此外,有可能(我敢说“可能”?)用户可以从Facebook和应用程序的移动版本之一访问界面。在这种情况下,我需要能够确保他们在设备上使用的用户名/密码身份验证指向与其Facebook登录相关联的同一帐户。
所以......所有这些......我应该学习和实施什么样的Facebook身份验证。我现在正在查看他们的文档,就像所有文档一样,它并不容易掌握。有服务器端(身份验证代码流?)和客户端(隐式流?)和身份验证令牌,我已经有点迷失了。
此外,我认为Facebook的方法是想完全接管我的登录过程,而不是与我的仅限移动设备登录并存,但我想确保用户可以选择不使用Facebook身份验证,如果他们不想要。
有人能指出我如何做到这一点的正确方向吗?基本上让我知道我应该关注的文档的哪一部分。
有什么问题需要注意吗?
答案 0 :(得分:2)
当您加载signed request时,您的服务器将收到app on facebook.com;从这里你可以找到用户的FB uid。
如果您为移动设备客户的用户获取了FB uid,您将能够在移动设备和移动设备之间匹配您应用的帐户。 facebook.com客户。
bottom of the main authentication docs page提供了针对不同客户端类型的进一步文档的链接。 main mobile authentication page有侧栏链接指向教程&适用于iOS和iOS的SDK Android系统。或者,您可以使用服务器端OAuth流,因为您的设备具有支持此功能的浏览器。
在移动设备上完成身份验证后,获取uid很简单。
您还可以使用Facebook身份验证流程,而不是您自己的用户名/密码身份验证。