2011-10-06 124 views
1

我有一个通过https与服务器进行通信的iOS应用程序。如何验证iOS应用程序的http请求?

是否可以对应用程序进行身份验证,以便服务器只响应来自该应用程序的请求?换句话说,它不会响应来自浏览器/ curl /另一个应用程序/ etc的http请求?

我对验证用户不感兴趣 - 只确定只有我的应用可以与服务器进行通信。

我考虑过的:

-Shared secret on server and app。但是,任何人都可以查看应用程序包以提取秘密。

- 使用推送通知。应用联系人服务器,并向服务器通知其推送通知令牌。服务器发送一个到达应用的推送通知。没有其他人可以收到通知,因此在其中嵌入了一个共享的秘密,从那以后应用程序可以使用该秘密。但是推送通知可以延迟传送,或者根本不传送。许多用户不想启用它们。

很明显,苹果认证设备,所以它知道在哪里发送推送通知。但是有什么方法可以吸引人?

回答

1

你有没有想过使用你的ios设备的MAC地址?我在一个应用程序中使用它,该应用程序登录需要将设备标识为终端的服务器,并使用它为该终端创建会话。

+0

对于Wifi/Cellular,MAC地址会有所不同。 – simonmenke