Skip to content

A two-step authentication application using Firebase and sending tokens via emails.

Notifications You must be signed in to change notification settings

Ana-Ferino/firebase-email-authentication-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firebase Two-Step Authentication via Email - Terminal Application

This project implements a two-step authentication system using Firebase and email verification. The application is entirely executed through the terminal.

Features

  • Email Registration:

    • Users can register by providing an email and a password with at least 8 characters.
    • The credentials are sent to Firebase for creating a new user account.
  • Email Authentication:

    • Users can authenticate by providing their email and password created for Firebase.
    • After successful authentication, the user is asked to enter the 6-digit token generated and sent to the email provided.

Example:

NextLevelWeek
User enters the token received by email and authentication is completed ✔️
NextLevelWeek

How to Run

  1. Firebase Configuration:

  2. Email Configuration:

    • Set up email sending credentials in the config.py file.
  3. Execution:

    • Run the main script main.py through the terminal.

Dependencies

  • Python 3.x
  • Python Libraries: pyrebase4 (for interacting with Firebase)

Setting Up a Virtual Environment (Optional)

If desired, you can set up a virtual environment to install the dependencies:

# Create a virtual environment
python3 -m venv env

# Activate the virtual environment
source env/bin/activate  # On Windows: env\Scripts\activate

# Install the dependencies
pip install -r requirements.txt

# Deactivate the virtual environment when no longer in use
deactivate

About

A two-step authentication application using Firebase and sending tokens via emails.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages