Javascript 在firebase应用程序之间对用户进行身份验证
我有一个带有firebase身份验证和存储的React应用程序 在我的上一个关于多个firebase应用程序的问题之后,我的项目中有多个Javascript 在firebase应用程序之间对用户进行身份验证,javascript,reactjs,firebase,firebase-authentication,Javascript,Reactjs,Firebase,Firebase Authentication,我有一个带有firebase身份验证和存储的React应用程序 在我的上一个关于多个firebase应用程序的问题之后,我的项目中有多个firebase应用程序 我已初始化默认应用程序 firebase.initializeApp({ apiKey:'xxxxxxxxxxxxxxxxx', authDomain:'buckettest-xxxxx.firebaseapp.com', projectId:‘buckettest-xxxxx’, storageBucket:'buckettest-x
firebase
应用程序
我已初始化默认应用程序
firebase.initializeApp({
apiKey:'xxxxxxxxxxxxxxxxx',
authDomain:'buckettest-xxxxx.firebaseapp.com',
projectId:‘buckettest-xxxxx’,
storageBucket:'buckettest-xxxxx.appspot.com',
messagingSenderId:'xxxxxxxxxxxxxxxxxxxxx',
appId:'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
测量值:'G-QZDBHEWHJ5',
});
用户使用上面的DEFAULT
应用程序的firebase.auth()
中的signInWithEmailAndPassword
方法,使用电子邮件和密码登录
在一个组件中,我创建了一个连接到另一个存储桶的辅助firebase应用程序,如下所示
const createStoreApp=(bucket)=>{
const firebaseStoreApp=firebase.apps.length==1
?firebase.initializeApp({
storageBucket:bucket.name,
apiKey:'xxxxxxxxxxxxxxxxx',
authDomain:'buckettest-xxxxx.firebaseapp.com',
projectId:‘buckettest-xxxxx’,
storageBucket:'buckettest-xxxxx.appspot.com',
messagingSenderId:'xxxxxxxxxxxxxxxxxxxxx',
appId:'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
测量值:'G-QZDBHEWHJ5',
},“存储”)
:firebase.apps[1];
返回firebaseStoreApp;
};
此解决方案工作正常,但存在一个问题,即此辅助应用上没有经过身份验证的用户
是否有一种方法可以将当前用户
从默认
应用程序实例身份验证到第二个实例,而无需请求凭据?每个初始化的应用程序实例都有自己的身份验证。您不能让一个应用程序实例访问另一个应用程序以获取其身份验证数据。因此,您需要使用Firebase Auth API分别将用户登录到第二个应用程序实例。由于您使用的是带有电子邮件和密码的登录,听起来您必须将用户的凭据存储在某个位置,直到您能够根据需要再次调用initializeApp
。谢谢您的回答。没有其他身份验证方法吗?我看到有一个令牌登录方法,我不能发布一个对auth有效的令牌吗?在前端存储密码似乎不太合适。如果您想要自定义令牌登录,则需要涉及一个后端,该后端使用Firebase Admin SDK为用户颁发令牌。因此,您的客户端应用程序需要调用此后端以请求自定义令牌,并使用该令牌登录到其他应用程序实例。这方面的文件如下:是的,这似乎是解决当前问题的更好方法