2013-10-31 65 views
1

我有一个我想保护的公共REST API。我读过HTTP基本认证,OAuth,API Key ......但据我所知,这种方法需要注册(用户名和密码)。我希望我的服务的用户(Android应用程序)可以在不注册和登录的情况下使用它。保护公共API(不需要注册)

所以,理想情况下,我希望只有Android应用可以使用该服务,并且我想控制服务的使用。我曾想过要获得有关Android设备的独特功能,但我认为这很容易弄虚作假。

没有注册的原因是服务非常简单(查看巴士到达情况,并参与发送一些到达时间),我认为用户必须提供用户名/密码才能实现如此简单的服务。

我该如何做到这一点?

回答

3

我想只有Android应用程序可以使用该服务...我如何实现这一目标?

你不行。

你可以试试随便减少的比Android的应用程序,可以使用你的服务的其他事物的数量(例如,有你的应用程序中使用自定义的用户代理头中的HTTP请求,并使用SSL)。但是,那些决心要通过的人可以通过逆向工程或者嗅探HTTP流量来做到这一点。

+0

谢谢。所以一个解决方案是发送一个自定义标题,并相信没有人会嗅探流量或破解我的应用程序。我认为没关系,因为除了到达时间以外,该应用没有任何有趣的内容。我主要关心的是服务的滥用。 –