我没有找到任何具体的答案,大多数解决方案都是旧的,所以我想请社区人员了解保护Rails API免受其他请求的最佳做法,并且只允许Android应用程序访问它.没有用户注册或登录. Android应用只需要访问数据.
我想在我的Android应用程序中插入一个密钥,并在每个请求中传递该密钥,但这对我来说似乎不太安全.
从其他请求中保护Rails API并仅允许Android应用程序访问它的建议做法是什么?谢谢.
最佳答案
我没有很多API的经验,但我知道如果你想要正确保护它们,你可以使用一些API secret keys来处理这个工作
–
API密钥
如果您只想为特定用户组提供功能,则最好将API密钥嵌入其应用程序中.
我不知道你是如何专门实现这一点的(IE仅适用于你的Android系统),但是你在理想世界中想要的只是允许特定的API密钥启用帐户访问Rails应用程序数据.
那么你的工作就是只为android设备提供密钥(我还不确定的部分).
对于securing an API,Rails实际上非常通用:
–
我不知道具体,如果你在Android设备上安装应用程序,你肯定可以访问Android id或其他东西吗?
在reading this documentation,您似乎可以访问Android内部的设备ID集合(包括您的设备和Android安装).我将研究如何使用这些作为识别API请求的方法
Is there a unique Android device ID?
也许您的流程可能是这样的 – 应用程序的第一次运行将验证设备是否为Android,如果是,则将设备ID添加到您的rails“API Keys”db.这将允许您将来允许访问设备