以下はコードサンプルです。目標は、特定のメールアドレスとパスワードを持つユーザーを作成することです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
含まれています。しかし、クロムコンソールエラーがスローされauth/tenant-id-mismatch
ます。これまでのところ、プロジェクトでセットアップされたテナントは 1 つだけで、他のテナント ID もありません。firebaseAuth オブジェクトにもテナント ID を記録しましたが、これは firebasetenantId
から返されたものとまったく同じようです。
次のエラーがどこから来ているのか追跡できないようです。