Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS客户端、Facebook API和服务器之间的安全通信_Iphone_Ios_Facebook_Security_Facebook Graph Api - Fatal编程技术网

Iphone iOS客户端、Facebook API和服务器之间的安全通信

Iphone iOS客户端、Facebook API和服务器之间的安全通信,iphone,ios,facebook,security,facebook-graph-api,Iphone,Ios,Facebook,Security,Facebook Graph Api,我想用Facebook登录实现一个iOS应用程序。我希望我的应用程序的用户能够与他们的社交图交互(即发布到他们的流)。为此,我将使用Facebook iOS SDK。 当用户已经通过Facebook认证后,他们也应该能够使用我的应用程序服务器端的一些服务。如何根据服务器上的服务验证用户 在我的iOS应用程序中,我可以使用iOS Facebook SDK查询访问令牌(用于我的Facebook应用程序)。我应该将访问令牌和facebook用户ID一起发送到我的服务器吗?服务器能否验证访问令牌是否有效

我想用Facebook登录实现一个iOS应用程序。我希望我的应用程序的用户能够与他们的社交图交互(即发布到他们的流)。为此,我将使用Facebook iOS SDK。
当用户已经通过Facebook认证后,他们也应该能够使用我的应用程序服务器端的一些服务。如何根据服务器上的服务验证用户


在我的iOS应用程序中,我可以使用iOS Facebook SDK查询访问令牌(用于我的Facebook应用程序)。我应该将访问令牌和facebook用户ID一起发送到我的服务器吗?服务器能否验证访问令牌是否有效?还是应该只让我的iOS应用程序与Facebook API通信?服务器可以发布到我的Facebook墙吗?还是应该只通过iOS应用程序发布?

更新:

Facebook现在提供了一份安全文档/清单:


您至少有两种选择:

  • 将访问令牌发送到您的服务器,并处理所有到Facebook的请求 使用该令牌(如果令牌无效,则会出现错误并 将其传递给客户端)。=>安全但(有点)复杂

  • 分开彼此之间的通信

    • 您的客户端(iOS应用程序)和Facebook API以及
    • 您的客户端和服务器。

    您的应用程序将通过Facebook iOS SDK处理所有对Facebook API的请求,然后将生成的数据(如所有类型的Facebook ID)传输到您的服务器。如果没有某种加密,这种方法是完全不安全的;您可以向服务器发送一些加密哈希函数,并使用存储在服务器和iOS应用程序上的密钥对其进行验证。=>这种方法(稍微)更容易实现,但安全性较低,因为密钥可以通过反向工程被盗。此外,在向应用商店提交应用程序时,您必须选中“我正在使用加密”复选标记

  • 这实际上取决于你愿意冒多大的风险,你提出什么样的要求,你有什么样的服务等等

    服务器能否验证访问令牌是否有效


    是的,请看这里:

    为什么要投反对票,这个问题对我来说似乎很有意义,并且显示了在解释这个问题上的一些努力。@直到这个问题确实有意义为止。也许有人不喜欢这样的措辞。