我们正在 Rails 中开发一个 JSON REST API,供我们也在开发的 Android 应用程序使用。有什么方法可以保护 API,使其只能由我们特定的 Android 应用程序使用?
API 是只读的,不涉及任何类型的用户相关信息或其他敏感信息。但在合理的范围内,我们希望防止滥用并将其仅用于我们的应用程序。
我可以轻松地将身份验证令牌添加到 API 并将其与应用程序一起分发,但是:
- 如果我们使用 BASIC auth,我们可能不得不将 API 转移到 SSL。
- 无论如何,对于一个有决心的人来说,打开 Android APK 二进制文件并发现身份验证令牌可能是微不足道的。
这种情况似乎类似于咖啡馆在商店柜台上张贴他们的 WiFi 密码——你必须将秘密告诉所有想要使用你服务的人,所以一开始就拥有它似乎毫无意义。
采取什么最合理的方法?