【问题标题】:How can I store Google Maps API keys not using app.json?如何不使用 app.json 存储 Google Maps API 密钥?
【发布时间】:2019-06-17 16:14:03
【问题描述】:

我必须以安全的方式存储我的 Google Maps API 密钥(不是提交的文件),但是当我使用 Expo 时,Google Maps API 密钥存储在app.json 文件中,如下例所示:

    "ios": {
      "config": {
        "googleMapsApiKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      }
    },
    "android": {
      "config": {
        "googleMaps": {
          "apiKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        }
      }
    }

问题是,由于我的app.json 文件应该被提交,我应该将这些密钥存储在哪里?

【问题讨论】:

    标签: google-maps react-native expo api-key


    【解决方案1】:

    将它们存储在.env 文件中,例如GOOGLE_API_KEY=yourKey
    然后根据需要使用 react-native-dotenv 包导入文件; import { GOOGLE_API_KEY } from 'react-native-dotenv'
    .env 文件也永远不会提交到 Github。

    另外,检查 AndroidManifest.xml 文件以确保密钥没有暴露在那里是个好主意。

    【讨论】:

    • 将密钥存储在 .env 文件中,我将无法在 app.json Expo 文件中访问它们,因为它是 .json。问题是,我应该采取什么方法将密钥存储在 app.json 中。
    • @Marcelo Wippel,这也适用于 Expo。请查看此帖子;从顶部的第三个帖子开始。 github.com/expo/expo/issues/83
    • 我正在尝试了解如何按照最初的要求将其用于实际地图。这个答案清楚地说明了如何将 env var 导入应用程序,但我没有看到将导入的值传递给 MapView 组件的方法?
    猜你喜欢
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 2011-03-27
    相关资源
    最近更新 更多