Facebook iOS SDK 身份验证

信息安全 验证 攻击 oauth 授权 第三者
2021-09-12 07:55:00

Facebook iOS SDK只需要您的iOS 应用程序包和应用程序 ID 与您的 Facebook 应用程序匹配。

如果我找到了一个应用程序的应用程序 ID,我就不能使用该应用程序的捆绑 ID 创建另一个 iOS 应用程序吗?当然,我可能无法在 Apple 的 App Store 上分发我的应用程序(因为它要求每个捆绑包 ID 都是唯一的),但我不能以其他方式分发它吗?iOS应用程序不应该也需要知道应用程序的秘密吗?我猜 Facebook 数据允许攻击从 iOS 应用程序中提取应用程序机密会更糟?将应用程序密钥存储在 iOS SDK 钥匙串服务中怎么样?

2个回答

iOS 应用 ID 包含一个团队特定的前缀,开发者无法更改或设置该前缀;它在签署构建时自动使用(在使用临时分发或开发构建时您甚至必须这样做)

因此,除非 Facebook 在检查 App ID 是否相等时忽略该部分,否则您无法创建作为另一个应用程序传递的应用程序。

你去

应用程序 ID 一个字符串,用于标识来自单个团队的一个或多个应用程序。App ID 包含一个捆绑 ID 搜索字符串,前面是 Team ID,这是一个由 Apple 生成的 10 个字符的字符串,用于唯一标识一个团队。

您可以使用Ad Hoc 分发安装多达 100 台设备,无需 App Store。但首先您需要使用设备 ID 在 Apple 开发中心注册每台设备。所以我认为这不是一个大问题。