Question: Not exactly sure what I am doing wrong here, I have looked at other forum post and this is what they say to do to re-auth a user. But I am getting an error of:

`TypeError: Cannot read property 'credential' of undefined` on this line here:

`const credentials = fire.auth.EmailAuthProvider.credential(currentUser.email, user.currentPass);`

Here is the code:

```
 const currentUser = fire.auth().currentUser;
 const credentials = fire.auth.EmailAuthProvider.credential(currentUser.email, user.currentPass);
 currentUser
  .reauthenticateWithCredential(credentials)
  .then(() => {
    alert('Success');
  })
  .catch(err => {
    alert(err);
  });

```

Answer: 
Like @bojeil answered, it's a namespace so, for instance and if you're using typescript and you used `firebase.initializeApp(config);` in another class, just add again the import in the class where you user the credential method with `import * as Firebase from 'firebase/app';`

As u can see in the doc `credential` it's a static method in a static class that's why you need the namespace.
I had the same issue as you and none of these answers helped me.

This worked for me:

```
const cred = fire.firebase_.auth.EmailAuthProvider.credential(email, password);

```

I'm not entirely sure why, but I just tried all the options available on `fire` in the dev tools until I came across firebase\_ which had the option of `EmailAuthProvider`. Maybe someone else here knows why.