【发布时间】:2020-12-14 10:55:30
【问题描述】:
我有一个带有 Firebase 身份验证和存储的 React 应用
根据我之前关于多个 firebase 应用 here 的问题,我最终在我的项目中拥有多个 firebase 应用。
我已初始化 DEFAULT 应用程序
firebase.initializeApp({
apiKey: 'xxxxxxxxxxxxxxxxxxxx',
authDomain: 'buckettest-xxxxx.firebaseapp.com',
projectId: 'buckettest-xxxxx',
storageBucket: 'buckettest-xxxxx.appspot.com',
messagingSenderId: 'xxxxxxxxxxxxxxxxxxxx',
appId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
measurementId: 'G-QZDBHEWHJ5',
});
用户使用电子邮件和密码登录,使用上述firebase.auth() 中的signInWithEmailAndPassword 方法DEFAULT 应用程序
在一个组件中,我创建了一个辅助 Firebase 应用程序,该应用程序连接到不同的存储桶,如下所示
const createStoreApp = (bucket) => {
const firebaseStoreApp = firebase.apps.length === 1
? firebase.initializeApp({
storageBucket: bucket.name,
apiKey: 'xxxxxxxxxxxxxxxxxxxx',
authDomain: 'buckettest-xxxxx.firebaseapp.com',
projectId: 'buckettest-xxxxx',
storageBucket: 'buckettest-xxxxx.appspot.com',
messagingSenderId: 'xxxxxxxxxxxxxxxxxxxx',
appId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
measurementId: 'G-QZDBHEWHJ5',
}, 'storage')
: firebase.apps[1];
return firebaseStoreApp;
};
此解决方案完美运行,但存在此辅助应用上没有经过身份验证的用户的问题。
有没有一种方法可以将 currentUser 从 DEFAULT 应用实例验证到第二个而不要求提供凭据?
【问题讨论】:
标签: javascript reactjs firebase firebase-authentication