当前位置: 代码迷 >> java >> 在 Java REST API 中在哪里初始化 Firebase Admin SDK?
  详细解决方案

在 Java REST API 中在哪里初始化 Firebase Admin SDK?

热度:138   发布时间:2023-07-17 20:07:17.0

我正在使用 Java 和 Jersy 开发 REST API。 REST API 将由 Fluttervmobile 应用程序使用。

我决定在我的应用程序中使用 Firebase。 因此移动应用程序将使用 Firebase 身份验证。 然而,Firebase 功能目前仅用于对用户进行身份验证,所有其他数据都位于可通过 REST API 访问的 MySQL 数据库中。

现在,我根据此链接安装了 Firebase Admin SDK -

下面是初始化应用程序的代码

try
        {
            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
            InputStream serviceAccount = classLoader.getResourceAsStream("xxxxxx.json");

            FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .build();

            FirebaseApp.initializeApp(options);
        }
        catch(IOException io)
        {
            io.printStackTrace();
        }

我的问题是,这段代码应该放在哪个班级? 我可以使用其余过滤器类来验证 Firebase 发送的令牌并同时对其进行初始化。 然而,这意味着如果我收到 1M 请求,Firebase 将被初始化 1M 次!

我该如何解决这个问题?

您只需为每个需要访问的项目的每个进程初始化 Firebase Admin SDK 一次。 如果您有一个进程和一个项目要访问,请在第一次使用之前在该进程中对其初始化一次。

  相关解决方案