如何在Flutter中安全地存储API密钥?

时间:2019-09-29 00:54:36

标签: flutter dart environment-variables dart-pub

我正在使用googleapi的Flutter软件包,并且要使用Google Drive API,我需要输入凭据。我的问题是,如何安全地将它们存储在我的应用程序中,所以当我发布我的应用程序时,它们就无法被使用。我找到了一个很酷的软件包flutter_secure_storage,但是要使用它,我需要将所有值都放入安全存储中。那我该怎么办呢?我当时在考虑使用this之类的东西,但不确定。可以的话,如果有人可以使我对书中的用法做到正确的方向。

为进一步说明,我不想将敏感信息存储在main.dart这样的文件中作为要存储的变量(如果尚不存在)。

3 个答案:

答案 0 :(得分:2)

您可以使用flutter_dotenv软件包来完成此操作。
在项目的根目录中创建一个.env文件:

GOOGLE_API = API_KEY

.env文件添加到pubspec.yaml的资产包中

assets:
  - .env

.env文件添加为.gitignore中的条目

.env*

在整个应用程序中从.env访问变量

DotEnv().env['GOOGLE_API'];

详细了解如何安装和使用软件包here: flutter_dotenv

答案 1 :(得分:0)

无法在应用程序中存储秘密凭据。考虑其他方法,并通过Google云平台的适当权限保护API密钥。

安全存储用于用户内容。

答案 2 :(得分:0)

我建议您创建一个数据库来存储您的密钥。您可以设置一个与您联系的基地相连的小型后端,从而可以实现所需的所有安全性。 这是最安全的方法