2013-04-16 27 views
0

我想使用我自己的服务器验证iOS应用内购买。 iOS应用程序将与我的服务器进行通话,而服务器又会与Apple的服务器通话以确定IAP是否有效。我对网络相当陌生,所以我有一个基本问题:如何确保我的iOS应用程序安全地与我的服务器交谈?使用我自己的服务器验证iOS应用内购买

我想应用程序会通过https进行通话,但我不知道这是如何工作的。有关设置两者之间的https通信(或其他安全通信方法)的任何建议,我们都非常感谢!

回答

2

劳森有一个观点。你不能让你的服务器直接在AppStore上执行购买。这必须由您的应用程序执行。

它应该从服务器请求可用的产品标识符,然后将SKProductsRequest发送到AppStore。 如果需要,它会通过应用商店处理购买,并通过发送所谓的收据通知您的服务器。服务器可以直接在AppStore验证收据。但这是服务器在AppStore中唯一可以自行完成的事情。

你可以阅读更多关于它在这里:Overview of In-App Purchase: Server Product Model

至于你的应用和服务器之间的连接,我不认为你有多大的(合理的)选择,只能使用SSL的。几乎任何更安全的事情都需要PKI。

+0

如何让我的应用程序使用SSL与我的服务器通话?服务器或应用程序是否需要任何特殊证书?对于基本问题抱歉。我对此很新。 – SundayMonday

+1

那要看情况。你需要一个SSL证书。无论是来自Verisign(赛门铁克)等人的“值得信赖”的人 - 要么花钱 - 要么创建自己的。 – Tobi

+0

“如何使我的应用程序使用SSL与我的服务器对话”是一个单独的问题。如果将单独的问题分解为......以及单独的问题,它将有助于使Stack Overflow更好。 :)这是一个这样的问题和答案:http://stackoverflow.com/questions/16048880/ssl-communication-from-ios-app-to-server – Olie

1

对不起以前的答案...我误解了你的问题。您可以让您的服务器向Apple的服务器发送POST请求,然后解析响应。

https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html

+1

接收验证的网址已更改为:https:// developer。 apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html –

+0

@Lawson。您可能希望删除先前的答案,这样您就不会继续失去声望,因为它会降低选票的声誉。 – Olie

+0

谢谢......我非常确定原来的提问者在我回答之后修改了这个问题......最初它看起来好像他们想在应用程序购买时跳过苹果一样。看到Tobi的答案。 – Lawson