【问题标题】:How do I emulate auth multi-tenancy in firebase emulator with NodeJS?如何使用 NodeJS 在 Firebase 模拟器中模拟身份验证多租户?
【发布时间】:2021-10-08 05:13:18
【问题描述】:

我正在使用带有 nodejs firebase-admin-sdk 的 firebase 身份验证多租户。

当我尝试使用 firebase 模拟器套件创建身份验证租户时,我收到 404 错误。但是,如果我使用我的生产 firebase,同样的代码也可以工作。

您可以通过在 nodejs 运行时运行以下代码来重现错误。我假设您正在运行 firebase 模拟器,并且您有一个带有服务帐户配置的 firebase 项目

const admin = require('firebase-admin')

process.env["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/serviceaccount.json" // replace with the path to your google cloud service account config
process.env['FIREBASE_AUTH_EMULATOR_HOST'] = "localhost:9099" // firebase emulator auth port


admin.initializeApp({
  credential: admin.credential.applicationDefault()
});


admin.auth().tenantManager().createTenant({
    displayName: 'Tenant123',
    emailSignInConfig: {
      enabled: true,
      passwordRequired: false, // Email link sign-in enabled.
    }
  })
  .then(newTenant => {
    console.log('new tenancy created', newTenant)
  })
  .catch(error => console.error(error))

【问题讨论】:

  • 这个问题还很模糊。你能在你的问题中加入how to produce your issue吗?
  • 欢迎来到 Stack Overflow。您的问题缺少有助于生成良好答案的详细信息。请阅读本指南并更新您的问题。 stackoverflow.com/help/how-to-ask
  • 感谢您的反馈。我试图通过添加更多细节来改进问题

标签: node.js firebase google-cloud-platform


【解决方案1】:

Firebase Admin SDK 支持 Firebase 身份验证多租户。为了测试 Firebase 产品和服务,我们将 Firebase 模拟器与 Firebase Admin SDK 结合使用 Firebase 身份验证多租户支持需要 Google Cloud 的身份平台 (GCIP)。

因此,我们不能在 Firebase Local Emulator 中使用 Firebase Authentication Multi-tenancy,因为目前模拟器中没有 Multi-tenancy 的功能。

如果你想拥有这个功能,你可以提交feature request in Firebase

【讨论】:

  • 感谢您的帮助。我将请求该功能
  • @PrinceOmonuItanyi 如果答案对您有所帮助,请考虑通过接受来关闭问题。这样其他人就知道你已经(充分地)得到了帮助。另见What should I do when someone answers my question?
  • @PrinceOmonuItanyi 您是否收到关于将其添加为功能的回复?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-24
  • 1970-01-01
  • 2021-04-22
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
相关资源
最近更新 更多