Firebase Email Actions Handler

A Node.js app to automate Firebase email actions like password reset and email verification

Introduction

A minimal Node.js application that wraps Firebase Authentication to handle email actions like password reset, email verification, and email recovery. Built with Express.js and Firebase, this app automates the process of handling these emails, saving time and effort in any Firebase-related projects.

Features

Usage

This app automates the handling of Firebase email actions (like password reset or email verification).

If you prefer not to set up your own server, you can use the hosted version. Just follow these steps:

1. Create a Firebase Project

Go to the Firebase console and create a new Firebase project.

2. Enable Email/Password Authentication

Navigate to Authentication > Sign-in method > Email/Password, and enable it.

3. Add Your Node.js App URL to Firebase

In the Firebase console, go to Settings > Authorized Domains, and add your Node.js application URL (either my hosted URL or your custom domain).

4. Update Action URL in Firebase Console

In the Templates section of Firebase Authentication, click the edit icon for the email actions.

Customize the action URL by entering the following format:

https://your-nodejs-hosting-url/__/auth/action

Save the settings.

Installation

To install and run the app locally, follow these steps:

1. Clone the Repo:

$ git clone https://github.com/samay15jan/firebase-email-handler

2. Install Dependencies:

$ cd firebase-email-handler && npm install

3. Run the App:

$ npm start

Hosting Your Own Dockerized Version

You can also deploy your own instance of the app by running it in a Docker container. Here's how:

1. Clone the Repo:

$ git clone https://github.com/samay15jan/firebase-email-handler

2. Build the Docker Image:

$ cd firebase-email-handler
$ docker build -t firebase-email-handler .

3. Push to Docker Hub (Optional):

$ docker push your-dockerhub-username/firebase-email-handler

4. Run the Docker Container:

$ docker run -p 3000:3000 firebase-email-handler

5. Deploy to Cloud Hosting:

You can use cloud platforms such as Render, Google Cloud, or Azure to deploy your Docker container.

License

MIT License here