In this lesson you'll learn how to use the connectAuthEmulator
function from Firebase's authentication emulator and the Firebase Emulator Suite to test out auth in development.
Jorge Vergara: We're going to initialize the Firebase Authentication emulator. For that, we're going to go wherever we initialized Firebase in our application. Since I'm running this demo on Angular, it means that I need to go to the app.module.ts file. In here, we're look for the line where we're importing from the Firebase Authentication package. We'll add the function, connectAuthEmulator.
Next, we'll go to auth initialization, and we'll add the connect function here. This function takes two parameters. First, it takes the authentication instance. We can get it here with the getAuth method. Then it takes the URL it's going to connect. In our case, it's going to be localhost, followed by the port.
If you don't remember what port does the authentication emulator use, we're going to go into the firebase.json file. In here, you can see that the emulator is using port 9099 for authentication. We can go back to the initialization and add that port here.
As you can see, I have a little typo here, it's HTTP. Then I save again. You can see now, Firebase is letting us know that we are running in emulator mode. This is a nice way to know that we are not using the production environment.
To test this, we are going to go into our CLI and we are going to run the command, firebase emulators start. Once the emulators are running, we are going to check in the console, what's the URL that we are using for the emulator's UI. We're going to copy that URL, and we're going to navigate to that.
Now, we can go to the authentication emulator. We can see that we don't have anything here at the moment. We can go back to our application. We click on Create a New Account. I want to create a new account with the credentials, jorge/jorgevergara.co, and some random password. When I click Create Account, they are moved.
You're going to be able to see that, if I go back to the emulator suite and I refresh here, now I have the new user that I just created. Now, if we log our user out, we can see that we can log in with the same user and same credentials. Here, we have jorge@jorgevergara.co. When I add that same user here, I click Sign in, and it logged into our application.
All of this is talking to the Local Emulator Suite, so none of this is talking to our deployed Firebase application.
Member comments are a way for members to communicate, interact, and ask questions about a lesson.
The instructor or someone from the community might respond to your question Here are a few basic guidelines to commenting on egghead.io
Be on-Topic
Comments are for discussing a lesson. If you're having a general issue with the website functionality, please contact us at support@egghead.io.
Avoid meta-discussion
Code Problems?
Should be accompanied by code! Codesandbox or Stackblitz provide a way to share code and discuss it in context
Details and Context
Vague question? Vague answer. Any details and context you can provide will lure more interesting answers!