2

客户端应用程序成功执行应用内购买并从 iTunes 接收收据。客户端然后将此收据发送到服务器,服务器与 Apple 进行验证,如果成功,则为客户端解锁一些内容。

是否可以在IAP 购买请求中插入额外数据,以便收据或收据验证包含此值?

帮助解释的收据

我试图防止中间人/数据包嗅探类型的黑客攻击,如果有人要发现另一个人的收据并针对我的服务器进行验证,服务器如何知道该收据不是由这个,验证人?

在 Apple 的 IAP文档中,验证响应中有许多值返回。我可以version_external_identifier使用价值吗?它有什么用途或价值?

谢谢

4

1 回答 1

0

version_external_identifier 唯一标识应用程序修订的任意数字。沙盒创建的收据中缺少此密钥。

这真的回答了你的问题;它是一种确定购买的应用程序版本的方法。您可以拥有相同的版本号,但可以有多个修订版,这允许该版本号和 IAP。

是否可以在 IAP 购买请求中插入额外数据,以便收据或收据验证包含此值?

最终,没有。Apple 可以控制收据及其内容。如果您遵循文档中的指南(有关更多信息以及您发布的链接,请参阅内容),您可以对抗中间人攻击(Apple 会考虑这一点)。确保与您的服务器和 Apple 的连接是 HTTPS。

无论如何,中间的人代表某人进行购买是没有实际意义的;购买请求与 Apple ID 相关联,这意味着中间人需要知道他们的凭据。

于 2013-01-25T12:13:50.257 回答