几个星期前我开始开发我的第一个IOS应用程序,它需要Twitter和Facebook登录。
我对两个平台在安全/身份验证方面采取的不同方法感到非常惊讶。
Facebook 使用 IOS Bundle ID 方法,这看起来很棒,因为每个Bundle ID都是唯一的,您不能代表其他用户发布应用Bundle ID,所以Facebook很容易弄清楚你是不是说你是谁。
Twitter 使用他在IOS中的Web / REST应用程序中使用的传统密钥/密钥对,而它适用于Web,因为您不会需要将这些密钥暴露给客户端,而IOS应用程序则不然。
According with the official documentation
"要使用您应用的凭据初始化Twitter工具包,请传递它们 to startWithConsumerKey:consumerSecret:"
"调用startWithConsumerKey:consumerSecret:将覆盖任何键 它们是自动配置的。自动配置的密钥 在密钥"
下的应用程序的Info.plist中
我的理解是,即使我使用我的密钥,或者我使用Fabric生成的密钥,这些密钥也会暴露在plist上,这是一种存储私钥的非安全方法。
我相信我在这里遗漏了一些东西,请告诉我它是如何运作的。