【问题标题】:how can I keep my api keys safe on React Native App如何在 React Native App 上保护我的 api 密钥安全
【发布时间】:2020-01-19 14:09:34
【问题描述】:

我正在使用 React Native 构建一个 Native 应用程序。我曾经是一名网络程序员,这是我第一次使用 React Native 并制作原生应用程序,尤其是这将成为实际产品并为普通用户服务。在我的斗争中,我遇到了一些问题,我作为一名前网络程序员,找不到出路。

在我的应用中,我通过 react-native-maps 库调用任何其他应用会/可能使用的一些 API,例如 Google 地图。我的 API 密钥保存在实际构建应用程序时使用的文件中,info.plist 和 AppDelegate.m(现在首先构建 iOS 应用程序)。我以为这样就足够安全了。但我最近发现它可能不会。

在阅读了一些关于从原生应用程序中删除秘密信息的文章后,我努力寻找出路。想过使用.env,从后端服务器获取api密钥等无法使用.env,并且找不到调用API的方法,发送API密钥(不包含它们作为构建元数据)。

所以这是我的问题。我如何保护我的秘密以安全地响应原生应用程序?

【问题讨论】:

标签: ios react-native security


【解决方案1】:

我想这取决于我们在谈论什么样的秘密和 API。

使用 Google 地图可以限制对特定应用或域的使用,从而可以安全地将密钥捆绑在应用中,请在此处阅读更多信息:https://developers.google.com/maps/api-key-best-practices#application_restriction

在应用程序本身不需要自己发出请求的情况下,另一种方法是让服务器发出请求并将结果转发给应用程序。

在上述没有任何作用的其他情况下,您可以将密钥从您的服务器发送给授权用户。请注意,用户随后可以读取密钥,但至少您不需要将密钥捆绑到应用程序中,这也可以在需要时替换密钥。

【讨论】:

    猜你喜欢
    • 2019-06-10
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 2016-02-08
    • 2018-01-15
    • 2017-09-12
    • 2014-09-27
    相关资源
    最近更新 更多