Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
Ios Facebook应用程序类型:手机和网络应用程序选择哪一种?_Ios_Facebook_Facebook Apps_Facebook Authentication_Facebook Access Token - Fatal编程技术网

Ios Facebook应用程序类型:手机和网络应用程序选择哪一种?

Ios Facebook应用程序类型:手机和网络应用程序选择哪一种?,ios,facebook,facebook-apps,facebook-authentication,facebook-access-token,Ios,Facebook,Facebook Apps,Facebook Authentication,Facebook Access Token,在Facebook应用程序设置中☞ 先进的☞ 身份验证我可以选择“Web”或“本机/桌面”作为应用程序类型。信息泡沫说: 仅当您是本机iOS或Android应用程序时才选择本机/桌面, 设备或桌面应用程序 事实上,我不是这些人,但我的应用程序是一个本地iOS应用程序以及一个Facebook页面标签。 问题:我应该选择哪种应用程序类型 我做了一些研究,在(故障排除下)中发现了以下内容: 应用程序类型Web与本机/桌面。这重要吗?:不重要 重要。但是,建议将“本机/桌面”类型用于 你的应用程序

在Facebook应用程序设置中☞ 先进的☞ 身份验证我可以选择“Web”或“本机/桌面”作为应用程序类型。信息泡沫说:

仅当您是本机iOS或Android应用程序时才选择本机/桌面, 设备或桌面应用程序

事实上,我不是这些人,但我的应用程序是一个本地iOS应用程序以及一个Facebook页面标签。
问题:我应该选择哪种应用程序类型


我做了一些研究,在(故障排除下)中发现了以下内容:

  • 应用程序类型Web与本机/桌面。这重要吗?:不重要 重要。但是,建议将“本机/桌面”类型用于 你的应用程序
这不重要意味着什么?这对我来说毫无意义。那我为什么要选择呢

我对SO做了更多的研究,并由(Facebook的开发支持工程师)发现:

如果应用程序的类型设置为“本机/桌面”,则假定您 使用二进制文件分发应用程序的密钥,从而 访问令牌不受信任(PHP SDK中的“getAccessToken”将不受信任 只有真正的用户登录时才能工作,不能退回到应用令牌)

最后,我在以下文件中发现了这一点:

注意:配置为本机/桌面应用程序的应用程序将不会 能够进行需要应用程序访问令牌的API调用


我确实需要进行API调用,这需要从我的PageTab应用程序中获得访问令牌,因此我的结论是选择“Web”作为应用程序类型,尽管我有一个本机iOS应用程序,使用与PageTab应用程序相同的应用程序ID。但这在iOS应用程序上会有任何缺点吗

TL;DR:除非你将应用程序机密放入iOS/Android二进制文件中,否则请使用“web”

主要区别(也是它在给出建议时说“没关系”的原因)是,如果您选择“本机/桌面”模式,则假定您分发嵌入应用程序机密的应用程序二进制文件,并且应用程序机密被视为不可信

在此配置中,使用应用程序机密的API调用(例如创建测试用户、代表应用程序本身进行API调用,如更改应用程序设置、发布成就等)将不起作用

如果你的应用程序不需要使用应用程序的秘密/App访问令牌,那么将其设置为Neal/ToePad会增加安全性,因为你的应用程序有一个攻击向量更少。p> 如果您使用代码分发应用程序机密,则必须使用该选项,否则用户很容易确定应用程序机密并劫持应用程序本身