Firebase Auth/身份平台:能否编程创建含标准身份提供商的租户?
可行解决方案
方案1:利用父项目配置继承特性
- 先在父项目的Google Cloud Console中一次性配置好Google、Microsoft等默认身份提供商,完成域名白名单和重定向URI的验证。
- 之后通过Admin SDK编程创建租户时,新租户会自动继承父项目的这些提供商配置,无需再为每个租户手动操作。租户用户可以直接使用Google/Microsoft账号登录对应租户,完全满足"创建组织后立即登录"的需求。
- 注意:如果后续需要调整某个租户的提供商配置(比如修改重定向URI),仍需通过控制台操作,但初始启用无需手动干预。
方案2:通过自定义OIDC提供商编程配置
如果父项目继承的方式不符合需求(比如需要为不同租户配置不同的提供商参数),可以将Google/Microsoft作为自定义OIDC提供商,通过Admin SDK编程添加到租户:
- 准备Google/Microsoft的OIDC配置信息:
- Google的OIDC发行方地址:
https://accounts.google.com - Microsoft的OIDC发行方地址:
https://login.microsoftonline.com/common/v2.0
- Google的OIDC发行方地址:
- 使用Admin SDK的接口为租户添加自定义OIDC提供商,以下是Node.js示例:
const admin = require('firebase-admin'); admin.initializeApp(); async function addGoogleOIDCToTenant(tenantId) { const tenantManager = admin.auth().tenantManager(); await tenantManager.updateTenant(tenantId, { oidcIdpConfigs: [ { clientId: '你的Google OIDC客户端ID', clientSecret: '你的Google OIDC客户端密钥', issuer: 'https://accounts.google.com', displayName: 'Google', enabled: true } ] }); } - 这种方式可以完全通过代码控制每个租户的提供商配置,无需依赖控制台操作。
内容的提问来源于stack exchange,提问作者Ben Brumfield
相关产品推荐
相关产品推荐

