gpt4 book ai didi

ios - 在iOS应用程序和Web应用程序上链接Facebook Graph

转载 作者:可可西里 更新时间:2023-11-01 05:36:22 25 4
gpt4 key购买 nike

因此,我搜索了很多该主题,可能使事情复杂化了,但希望在此方面有所澄清。这就是问题所在。

我有一个使用Facebook Graph的Web应用程序(FB登录, friend 邀请,通过FB分享等)。我们刚刚为网站构建了一个iOS应用,现在也想在iOS应用上实现上述所有FB操作。我查阅了Facebook文档,并尝试使用它来使Facebook登录名对已经在我们网站上注册的用户(并且也已连接其Facebook帐户)起作用,但似乎不起作用。

用例-用户在Web应用程序上注册并将其FB帐户与我们联系。然后,他们下载iOS应用程序,并希望使用FB登录登录到iOS应用程序或在其时间轴上共享对象。反之亦然。

问题-对于上述用例,ios App,Web Server和Facebook之间的工作流程应该是什么?基本上, token 和密钥是如何传递的,所以这三个人都知道我们在谈论同一用户和同一FB帐户吗?

任何链接或建议,将不胜感激!谢谢!

最佳答案

如果经过Facebook身份验证的Web应用程序用户首先启动本机应用程序,则您将不知道他们是谁。因此,需要通过“使用Facebook登录”按钮进行提示。当他们按下该按钮时,facebook-ios-sdk将确定已登录用户是谁,然后检查该用户是否已授予您的应用程序访问权限。如果Web应用程序和本机应用程序都指向同一个Facebook应用程序,则facebook-ios-sdk将仅存储经过身份验证的访问 token ,您将可以访问Web应用程序在本机应用程序上执行的所有操作。

这里的关键是您的Web应用程序和本机应用程序必须指向相同的Facebook应用程序(即,developers.facebook.com中的相同应用程序ID)。如果没有,则当他们单击“使用Facebook登录”按钮时,本机应用程序用户将被重新提示授予权限。此外,重要的是,用户必须在Web应用程序(基于浏览器中的Cookie)和电话本身上登录到同一Facebook帐户。 facebook-ios-sdk使用两种不同的方法在电话上查找 Activity 的Facebook帐户。它会尝试使用iOS 5+系统的Facebook帐户,对Facebook自己的本机应用程序进行应用间调用,在您的应用程序中运行的Web视图实例的浏览器cookie,或者将您退回野生动物园并在野生动物园中使用浏览器cookie。谁先回来说他们有一个活跃的Facebook帐户,需要找到与Web应用程序上相同的Facebook帐户。在大多数情况下,它们会匹配,因为大多数用户只有一个Facebook帐户,并且使用同一帐户登录到任何地方,但是它们肯定可以不同。如果网络应用程序facebook用户与facebook-ios-sdk检测到的本地应用程序 Activity Facebook用户不同,则“使用Facebook登录”按钮将简单地提示本地应用程序 Activity Facebook用户登录。并授予权限。

将访问 token 授予本机应用程序后,您可以将其发送回服务器,找到关联的facebook用户ID,现在可以将Web应用程序用户和本机应用程序用户链接为同一人,同时操作两个应用程序。此外,您可以使用您从本机应用程序获得的最新访问 token 代表用户来进行您要在服务器上进行的任何图形api调用。通过facebook-ios-sdk在本机应用程序中直接进行的任何共享/发布/ api调用都将以该用户身份进行,并由sdk处理(即,您不必担心它...它应该就像网络应用的图形API一样,无缝地工作并将所有帖子集成到他们的时间轴中。

如果您有一个经过Facebook身份验证的本机应用程序用户要访问该Web应用程序,则您(在第一个请求下)也不知道该用户是谁。您可以为他们提供一个facebook js sdk登录名,同样,一旦同一Facebook用户登录,您就可以将该当前Web应用程序用户与之前使用本机应用程序的用户相关联。

专门解决您的问题,您真的无法知道谁正在迁移用户,他们是首次访问Web应用程序还是本地应用程序。这就是“用Facebook登录”的地方。假设用户在浏览器和手机上登录到同一帐户(由facebook-ios-sdk确定),则登录应用程序的过程为无缝。不会提示他们再次授予权限(除非您的权限设置在Web应用程序和本机应用程序之间不同),并且您将立即获得用户的访问 token 。服务器的作用是使用授予的访问 token 来协调两个用户。使用访问 token ,服务器可以对图api进行简单调用,并获取用户的facebook用户ID。使用该Facebook用户ID,您将能够匹配应用程序上用户的“真实”身份(即,您现在知道Web应用程序用户和本机应用程序用户是相同的)。一旦知道用户是谁,就可以根据该用户的身份向该用户提供个性化的体验,无论该用户使用的是您的Web应用还是本机应用。

希望这可以帮助。很高兴回答您可能遇到的其他问题。

关于ios - 在iOS应用程序和Web应用程序上链接Facebook Graph,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16800747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com