Firebase login functionality with React

Login from firebase database in React-native and Reactjs

Login from firebase database in React-native and Reactjs

Follow Below code to complete your login functionality in your website or app

import React,{Component} from "react";
import "../css/style.css";
import * as firebase from 'firebase';

const firebaseConfig = {
  apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  authDomain: "xxxxxxxxxxxxxxxxxxxxxxx",
  databaseURL: "xxxxxxxxxxxxxxxxxxxxx",
  projectId: "xxxxxxxxxxxxx",
  storageBucket: "xxxxxxxxxxxxxxxxx",
  messagingSenderId: "xxxxxxxxxxxxxxxxxx",
  appId: "xxxxxxxxxxxxxxxxxxxxxxx",
  measurementId: "xxxxxxxxxxxxxxxxxxxxxxx"
};

if (!firebase.apps.length) {
  firebase.initializeApp(firebaseConfig);
}



export default class RegisterForm extends React.Component
{

  constructor(props) {
    super(props);
    this.state={
        username:"",
        password:"",
        
    }

You may like these posts


    this.getUsername = this.getUsername.bind(this);
    this.getPassword = this.getPassword.bind(this);
   
  }

  getUsername(event) {
    this.setState({username: event.target.value});
  }
  getPassword(event) {
    this.setState({password: event.target.value});
  }


 SubmitLoginForm=()=>{
    
    if(this.state.username && this.state.password !=="")
    {
     
     
     
        let ref = firebase.database().ref('users/clients/'+this.state.username);
        ref.on('value', snapshot => {
        const uname=snapshot.val().username.toString();
        const upass=snapshot.val().password.toString();

        if(uname==this.state.username && upass==this.state.password)
        {
         
            alert("Login success");
        }
        else{
            alert("invalid user");
        }
     
  });
            }
  }

    render()
    {
        return(
           
            <div className="row">
                <div className="col-md-6">
                <form className="form-horizontal">
                
  <div className="col-xs-8 col-xs-offset-4">
    <h2>Login</h2>
  </div>
  <div className="form-group">
    <label className="control-label col-xs-4">Username</label>
    <div className="col-xs-8">
      <input
        type="text"
        className="form-control"
        name="username"
        required="required"
        onChange={this.getUsername} 
        value={this.state.username}
      />
    </div>
  </div>

  <div className="form-group">
    <label className="control-label col-xs-4">Password</label>
    <div className="col-xs-8">
      <input
        type="password"
        className="form-control"
        name="password"
        required="required"
        onChange={this.getPassword} 
        value={this.state.password}
      />
    </div>
  </div>

  <div className="form-group">
    <div className="col-xs-8 col-xs-offset-4">
     
      <button type="button" className="btn btn-primary btn-lg" onClick={this.SubmitLoginForm}>
        Login
      </button>
    </div>
  </div>
</form>
                </div>
            </div>
            
          
        );
    }
}

Firebase database  login functionality from  scratch with ReactJs
Output