In my app I want to signout the user after creating user with email inorder to verfiy his email. I tried different methods but they aren't working. Here is my code:
try {
await app
.auth()
.createUserWithEmailAndPassword(email.value, password.value)
.then((userCredential)=>{
// send verification mail.
userCredential.user.sendEmailVerification();
alert("Email sent");
})
.catch(alert);
//history.push("/");
} catch (error) {
alert(error);
}
I have imported firebase initalizer from another component:
import firebase from "firebase/app";
import "firebase/auth";
const app = firebase.initializeApp({
apiKey: process.env.REACT_APP_FIREBASE_KEY,
authDomain: process.env.REACT_APP_FIREBASE_DOMAIN,
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_FIREBASE_SENDER_ID,
appId: process.env.REACT_APP_FIREBASE_APP_ID,
});
export default app;
Here is my authcontext:
useEffect(() => {
app.auth().onAuthStateChanged((user) => {
setCurrentUser(user);
setPending(false);
});
}, []);
if (pending) {
return <>Loading...</>;
}
return (
<AuthContext.Provider
value={{
currentUser,
}}
>
{children}
</AuthContext.Provider>
);
};
Any ideas on this?