如何在使用 Dart Flutter 开发的应用程序中隐藏 OneSignal 密钥?

How do I hide the OneSignal key in an application I developed with Dart Flutter?

我正在使用 Dart Flutter 开发一个应用程序,我将在商店中发布这个应用程序。所以成千上万的人会使用这个应用程序。

我为此设置了一个带有 OneSignal 的通知系统 application.But 如果此应用的 APK 文件以某种方式获得访问权限并被解密,也会找到 OneSignal 密钥。

找到钥匙可能会带来可怕的后果。

对此我可以采取什么措施?如何隐藏密钥?

通常,您不应在应用程序中使用任何敏感数据。大多数提供给 Flutter 的密钥都是 Client 密钥,这意味着它的破坏性低于 server aka (secrets).

正如我检查过的 OneSignal, 他们只向 Flutter SDK 提供 Client_ID 可以保留,并且 REST_KEY 应该在后端使用并且必须安全受保护。

您可能有两种方法来保护您的敏感数据:

  • 使用 Firebase Remote Config 等服务并提供密钥。从技术上讲,这是一种提供密钥的安全方式。
  • 使用后端 API 您和您的团队通过它构建和代理来自您的 Flutter 应用程序的所有请求。一个函数可以是一个无服务器函数,仅用于代理您的应用程序受保护的请求,或者您可以在您选择的后端执行此操作。

您也可以阅读更多内容 here