【问题标题】:Is there a way to verify that an Identifier for Vendor (IDFV) is valid?有没有办法验证供应商标识符 (IDFV) 是否有效?
【发布时间】:2015-05-26 13:25:55
【问题描述】:

Apple 有一个唯一标识符,称为本开发人员指南中讨论的供应商标识符 (IDFV)。 http://possiblemobile.com/2013/04/unique-identifiers/

我认为可以与 Restful API 一起使用,因此只接受具有有效 IDFV 的请求。但这是我不知道如何验证 IDFV 的问题。我可以做到,所以当安装应用程序时,它会在我的服务中注册。但理想情况下,我可以通过某种方式验证此标识符。

【问题讨论】:

  • Apple 似乎应该拥有(最好的情况下)一种服务器端方式来确定特定 IDFV 是否属于您的应用程序。你是这个意思吗?您是否就此与 Apple 联系过?

标签: ios xcode validation uniqueidentifier restful-authentication


【解决方案1】:

我不确定你的问题是什么。该应用程序获取 identifierForVendor 并将其发送到您的服务器。还能发生什么?您当然可以对传输进行编码,因此它还会发送 identifierForVendor 的哈希值和一些秘密字符串(如“我的秘密 25671566”)来测试传输是否来自您的应用程序。

您还应该知道 1) 如果删除并重新安装应用程序,identifierForVendor 将发生变化。 2)钥匙串可能解决#1的问题 3)应用程序有收据,所有应用程序都这样做,无论他们是否购买了IAP。收据使用 identifierForVendor 进行编码。您可以从设备发送收据以及声称的 identifierForVendor 并查看它是否可以被解码。但请参阅上面的第 1 段。

【讨论】:

  • 对我来说,这是一个你想要多少安全性的问题。有人可能会从您的应用程序二进制文件中挖掘出一个秘密。然后 IFV 只是一个字符序列。
【解决方案2】:

我刚刚对此进行了一次头脑风暴:事情并没有那么简单,但是如果您有一个应用内购买,并且应用内购买是免费的,那该怎么办。必须对此进行更多调查,但我认为您可以拥有免费的非消耗品购买类型。然后客户端可以将购买收据(从 iOS7 开始是加密的)发送到服务器端,然后服务器端可以验证这个收据——Apple 确实提供了一种 RESTful 方式来执行此操作。想法?当然,你也可以让 IAP 有一些 > 0 的价格。这将为应用程序开发人员提供添加支付机制的方法。

【讨论】:

    猜你喜欢
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2013-10-23
    • 2011-02-15
    • 2021-01-14
    • 1970-01-01
    相关资源
    最近更新 更多