使用 Firebase 创建桌面 Python 应用程序,如何包含私钥?

Creating a desktop Python app with Firebase, how do I include the private key?

我正在尝试构建一个使用 python 和 pyqt5 构建的桌面应用程序。我想用他们自己的登录详细信息将它发送给用户,但我不完全确定如何处理私钥。到目前为止,我不得不做

export GOOGLE_APPLICATION_CREDENTIALS=[path to private key json]

或 windows

set GOOGLE_APPLICATION_CREDENTIALS=[path to private key json]

显然我不想泄露私钥。可以将它存储在程序中,还是有一种特殊的安全方法可以做到这一点?我正在使用 pyinstaller 打包所有内容。

Firebase 提供的唯一供 Python 使用的 SDK 是所谓的 Admin SDK。正如关于 [设置 Admin SDK] 的文档所说:

The Admin SDK lets you interact with Firebase from privileged environments

因此此 SDK 不适合为您的普通用户开发应用程序,因为它需要凭据授予用户对您的 Firebase 项目的完全管理权限。

没有用于为普通客户开发 Python 应用程序的官方 Firebase SDK,因此您的选择仅限于:

  • 将 REST API 用于各种 Firebase 服务,并针对此编写您自己的客户端 Python 代码。
  • 使用第三方 API,例如支持客户端和管理访问的 Pyrebase