【发布时间】:2015-12-18 02:20:13
【问题描述】:
我有一个应用服务器进程,需要检查发出请求的设备是否是实际的 iOS 设备。我曾经通过利用推送通知来做到这一点。用户首先授权推送。每次用户发出特定类型的请求时,我都会将代码推送到应用程序用来向应用程序服务器发出第二个“经过身份验证”的请求的设备。从某种意义上说,通过 APNS 的附加通道将证明请求者设备的真实性。这使得人们很难欺骗请求,因为他们将无法接收带有所需代码的推送通知。
尽管 Apple 最近开始执行规则,即应用程序不能要求用户接受推送通知才能使用该应用程序,即使我们不使用推送通知来发出警报。
我的应用服务器是否有任何类似的方法可以向 Apple 检查请求是否来自我在实际 iOS 设备上的应用?或者这是能够确定这一点的不切实际的期望。
【问题讨论】:
-
没有,但是您可以使用 HTTPS 来进行困难的(在大多数情况下阻止)嗅探。您还可以让服务器为每个没有标识符/令牌的设备生成标识符/令牌,并让该设备将其存储在本地,或者最好存储在其钥匙串上。然后设备通过 HTTPS 通知令牌,您的服务器能够识别设备。我相信这应该可以解决您的担忧。有帮助吗?
-
您的真正目标是确保到达服务器的请求确实来自您的应用程序吗?
标签: ios