while creating the user using firebase.auth().createUserWithEmailAndPassword() it will automatically logged out the current user and will logged into the newly created user.To avoid this you have to create the new user using admin sdk.
here is the sample code:
exports.createUser = functions.firestore
.document('user/{userId}')
.onCreate(async (snap, context) => {
try {
const userId = snap.id;
const batch = admin.firestore().batch();
const newUser = await admin.auth().createUser({
disabled: false,
displayName: snap.get('name'),
email: snap.get('email'),
password: snap.get('password')
});
const ref1 = await
admin.firestore().collection('user').doc(newUser.uid);
await batch.set(ref1, {
id: newUser.uid,
email: newUser.email,
name: newUser.displayName,
createdAt: admin.firestore.FieldValue.serverTimestamp()
});
const ref3 = await admin.firestore().collection('user').doc(userId);
await batch.delete(ref3);
return await batch.commit();
}
catch (error) {
console.error(error);
}
});