Flutter REST API 安全性

Posted

技术标签:

【中文标题】Flutter REST API 安全性【英文标题】:Flutter REST API Security 【发布时间】:2021-02-24 14:13:43 【问题描述】:

我在 lib 文件夹中的颤振项目中使用 REST API 密钥,所以有人有机会反编译 apk 并查看我的 API 密钥吗?是否安全?

【问题讨论】:

是的,您应该为应用的每个用户生成一个 API 密钥 感谢您的回答。用户可以反编译apk并获取rest api密钥并通过邮递员或类似的方式写入我的数据库。 即使不能,用户也可以拦截所有网络流量。当其他应用程序可以读取您的内存时,SSL 不会保护您。 您不应该将敏感数据提供给客户端。要么拥有自己的具有身份验证功能的 API 并代理第三方 API,要么如果您不能为每个用户提供他们自己的第三方 API 密钥并限制权限。 如果是移动客户端,可以将token、api_key...等敏感数据保存在keychain(ios)或keystore(android)中。要在颤振中实现这一点,请查看flutter_secure_storage 【参考方案1】:

用户可以反编译apk并获取rest api密钥并通过邮递员或类似的方式写入我的数据库吗?

如果您不共享您在调试模式下生成的 APK,那么访问您的 API 密钥并不容易。您应该始终考虑在 release mode 中构建您的 APK。你也可以obfuscate你的APK。

【讨论】:

以上是关于Flutter REST API 安全性的主要内容,如果未能解决你的问题,请参考以下文章

Jersey REST API 安全性

REST 控制器的 Spring 安全性

java rest api接口 怎么保证安全性

“私有”REST API 的安全性

笔记:Jersey REST API 设计

REST API 安全设计指南