仅允许Android应用访问Rails API的最佳做法

Cri*_*ano 5 android ruby-on-rails rails-api ruby-on-rails-4

我没有找到任何具体的答案,大多数解决方案都是旧的,所以我想请社区人员了解保护Rails API免受其他请求的最佳做法,并且只允许Android应用程序访问它.没有用户注册或登录.Android应用只需要访问数据.

我想在我的Android应用程序中插入一个密钥,并在每个请求中传递该密钥,但这对我来说似乎不太安全.

从其他请求中保护Rails API并仅允许Android应用程序访问它的建议做法是什么?谢谢.

Ric*_*eck 3

我对 API 没有太多经验,但我确实知道,如果你想正确保护它们,你可以使用一些API 密钥来处理这项工作

--

API 密钥

如果您只想向特定用户组提供功能,最好将 API 密钥嵌入到他们的应用程序中。

我不知道你具体如何实现这一点(IE 仅适用于你的 Android 系统),但在理想的情况下,你想要的只是允许特定的 API 密钥启用帐户访问 Rails 应用程序数据。

然后,您的工作将是仅提供 Android 设备的密钥(我还不确定的部分)。

Rails 在保护 API 方面实际上非常通用:

在此输入图像描述

--

安卓ID

我具体不知道,如果你在Android设备上安装应用程序,你肯定会获得Android ID之类的东西吗?

阅读本文档后,您似乎可以访问 Android 内部的设备 ID 集合(适用于您的设备和 Android 安装)。我将研究如何使用这些作为识别 API 请求的方法

Android 设备有唯一的 ID 吗?

也许您的流程可能类似于 - 第一次运行应用程序将验证设备是否为 Android,如果是,则将设备 ID 添加到您的 Rails“API Keys”数据库中。这将允许您将来允许访问该设备