以下是代码示例。目标是创建一个具有电子邮件和密码的用户,用于特定的tenantId
:
import { Observable } from 'rxjs';
import { initializeApp } from 'firebase/app';
const app = initializeApp(JSON.parse(process.env.FIREBASE_CONFIG));
const firebaseAuth = getAuth();
firebaseAuth.tenantId = "foo";
const createUserObserver = (email, pass) => {
const observer = new Observable(subscriber => {
createUserWithEmailAndPassword(firebaseAuth, email, pass)
.then((userCredential) => {
subscriber.next(userCredential);
subscriber.complete();
})
.catch((error) => {
subscriber.error(error);
subscriber.complete();
});
});
return observer;
}
const createUser = () => {
createUserObserver("foo@bar.com", "123abc*")
.subscribe({
next: v => handleUserCreated(v),
error: e => handleError(e),
complete: () => console.log('Completed')
});
}
createUser();
一切顺利,我得到了正确的用户凭据,并且返回的用户对象也有正确tenantId
的。但是,chrome 控制台错误抛出auth/tenant-id-mismatch
. 到目前为止,我在该项目中只有一个租户设置,也没有其他租户 ID。我也在 firebaseAuth 对象中记录了租户 ID,这似乎正是tenantId
我从 firebase 收到的确切信息。
我似乎无法追踪以下错误的来源。