首页 > 解决方案 > 读取 Angular 和 Firebase 中登录用户的tenantId

问题描述

我正在结合使用 Angular 和 Firebase 以及 Google Cloud Identity Platform 来开发多租户应用程序。后一个是 Firebase 身份验证的一部分,它允许我将用户分组到不同的租户下,并且它向用户添加了“tenantId”属性。我的所有用户和租户文档的子集合。

我面临的挑战是如何通过 Firebase auth API 及时获取当前登录的用户,以进行查询以列出给定租户的所有用户。

想象一下登录的用户过去在浏览器的地址栏 URL http://tenant.domain.com/users。为了检索这些数据,我需要知道必须通过当前登录的用户来的“tenantId”,该用户在我进行查询之前解析。

我使用以下代码检索当前用户:

getCurrentUser() {
        return new Promise<any>((resolve, reject) => {
            var user = firebase.auth().onAuthStateChanged(function (user) {
                if (user) {
                    resolve(user);
                } else {
                    reject('No user logged in');
                }
            })
        });
    }

基本上我正在寻找在应用程序中的任何时间和地点都可以使用“tenantId”。

标签: javascriptangularfirebasefirebase-authentication

解决方案


推荐阅读