带有 Heroku 的 Firebase Admin SDK

ada*_*m2k 7 java spring heroku firebase-realtime-database firebase-admin

我正在尝试使用运行 Java Spring 应用程序的 Heroku 实例初始化 Firebase Admin SDK。Firebase 说明直接引用 .json 文件。

初始化 Firebase 管理 SDK

我不想将我的管理 SDK json 文件直接包含在我的 git 存储库中,因为我不想暴露我的 firebase 凭据。为了访问 Heroku 中的 .json 值,我创建了一个环境变量,其中包含 Firebase Admin SDK .json 文件的内容。我在本地开发环境中做了同样的事情,应用程序通过使用这种方法访问环境变量来工作:

String serviceAccountJson = System.getenv("SERVICE_ACCOUNT_JSON");
InputStream serviceAccount = new ByteArrayInputStream(serviceAccountJson.getBytes(StandardCharsets.UTF_8));
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredential(FirebaseCredentials.fromCertificate(serviceAccount))'
    .setDatabaseUrl("https://myfirebase-app.firebaseio.com/")
    .build();
FirebaseApp.initializeApp(options);
Run Code Online (Sandbox Code Playgroud)

当我尝试在 Heroku 中运行该应用程序时,它会在 firebase 尝试初始化时崩溃。

是否有任何变通方法或其他方法可以访问不在 .git 存储库中但在 Heroku 服务器上可用的 .json 文件?

adr*_*727 2

我遇到了同样的问题。您只需要使用json类似这样的内容来转义 中的任何特殊字符即可。