有没有一种方法可以验证供应商标识符(IDFV)是否有效?

5

苹果公司有一个称为“供应商标识符”(IDFV)的独特标识符,在本开发人员指南中进行了讨论。 http://possiblemobile.com/2013/04/unique-identifiers/

我在想,是否可以将其与Restful API一起使用,以便仅接受具有有效IDFV的请求。但是问题在于,我不知道如何验证IDFV。我可以让应用程序在安装时向我的服务注册。但理想情况下,我希望有一种方法可以验证此标识符。


看起来在最理想的情况下,苹果应该有一种服务器端的方式来确定特定的IDFV是否属于你的应用。 这是你的意思吗? 你已经向苹果提出这个问题了吗? - Chris Prince
2个回答

1
我刚刚有一个关于这个的头脑风暴:虽然不是那么简单,但如果您在应用程序中有一个In-App购买,而该IAP位于免费层级上会怎样呢?必须进一步调查,但我认为您可以拥有一个免费的非消耗性购买类型。然后,客户端可以将购买收据(自iOS7起加密)发送到服务器端,服务器端可以验证此收据--Apple确实提供了RESTful方式来执行此操作。思路如何?当然,您还可以使IAP具有一些> 0价格。这将为应用程序开发人员提供添加支付机制的手段。

1
我不确定你的问题是什么。该应用程序获取identifierForVendor并将其发送到您的服务器。还可能发生什么?您可以编写传输代码,使其发送identifierForVendor的哈希值和某些秘密字符串(例如“我的秘密25671566”),以测试传输是否来自您的应用程序。您还应该知道:1)如果删除并重新安装应用程序,则identifierForVendor将更改。2)钥匙串可能解决#1的问题3)应用程序有一个收据,无论他们是否购买了IAP,所有应用程序都有。收据使用identifierForVendor进行编码。您可以从设备上发送收据以及所谓的identifierForVendor,并查看是否可以对其进行解码。但请参见第1段。

2
对我来说,这是一个关于你需要多少安全性的问题。有人可能会从你的应用程序二进制文件中挖掘出一个秘密。然后IFV只是一系列字符。 - Chris Prince

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接