我有一个想要保护的公共(public) REST API。我已经阅读了有关 HTTP 基本身份验证、OAuth、API key 的信息……但据我所知,这种方法需要注册(用户名和密码)。我希望我的服务的用户(Android 应用程序)无需注册和登录即可使用它。
因此,理想情况下,我希望只有 Android 应用程序可以使用该服务,并且我想控制该服务的使用。我曾想过要获得一些关于 Android 设备的独特之处,但我认为它很容易被证伪。
没有注册的原因是该服务非常简单(查看公交车到站,并参与发送一些时间到站),我认为用户必须为如此简单的服务提供用户名/密码是过分的。
我怎样才能做到这一点?
最佳答案
I want that only Android apps can use the service... How I can achieve this?
你不能。
您可以尝试随意减少可以使用您服务的 Android 应用程序以外的事物的数量(例如,让您的应用程序在 HTTP 请求中使用自定义用户代理 header ,并使用 SSL)。但是,那些决心克服这一点的人将能够通过对您的应用程序进行逆向工程或嗅探 HTTP 流量来做到这一点。
关于android - 保护公共(public) API(无需注册),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19707368/