提问人:0penJava 提问时间:11/16/2023 最后编辑:LoicTheAztec0penJava 更新时间:11/18/2023 访问量:33
从 flutter 调用 woocommerce API,而无需在移动应用程序中嵌入消费者密钥和密钥
Calling woocommerce API from flutter without embedding consumer key and secret in mobile app
问:
对于调用 WooCommerce REST API 的移动应用程序,需要使用者密钥和密钥。 但是,将其嵌入到移动应用代码中可能会带来安全风险。有什么办法解决这个问题吗?
试图看看是否有办法安全地存储密钥,但似乎没有
答:
1赞
Ubaid ur Rehman Soomro
11/16/2023
#1
在 flutter 项目的根目录下创建一个文件,将内容放入创建的文件中,如下所示:env.json
{
"consumer_key":"<YOUR_CONSUMER_KEY>",
}
在您的代码中,像这样访问您的使用者密钥。
const String baseUrl = String.fromEnvironment("base_url");
此构造函数仅保证在作为 const 调用时才能工作。 (有关方法,请参阅文档String.fromEnvironment
)
编辑 main.dart 配置,并将其他运行参数设置为:
--dart-define-from-file=env.json
要构建 APK,请使用:
flutter build apk --dart-define-from-file=env.json
对 appbundle 使用相同的命令行参数。
这将在 Flutter >=3.7 中起作用
您可以轻松地参考社区,以便在 iOS 配置中添加此附加命令行参数。
真正的问题:它安全吗?
我开发了一个带有环境变量的应用程序,但我的渗透测试人员无法在逆向工程中找到密钥。在运行时分配的环境变量,因此它们不是代码的一部分。
评论
0赞
0penJava
11/17/2023
如何为仅具有客户凭据的角色创建consumer_secret?我认为如果仅访问登录用户的客户特征,我们可能会让他们使用 OAuth
评论