如何在React Native App上保持我的api密钥安全

问题描述 投票:0回答:1

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

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

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

所以这是我的问题。如何保护我的秘密,以免对本机应用程序做出反应?

ios react-native security
1个回答
0
投票

我想这取决于我们在谈论哪种机密和API。

使用Google Maps可以将使用限制在特定的应用程序或域中,这可以安全地将密钥捆绑在应用程序中,在此处了解更多信息:https://developers.google.com/maps/api-key-best-practices#application_restriction

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

在其他情况下,以上任何方法均无效,您可以将密码从服务器发送给授权用户。请注意,用户随后可以读取密钥,但是至少您不需要将密钥捆绑到应用程序中,这也使得可以在需要时替换密钥。

© www.soinside.com 2019 - 2024. All rights reserved.