Skip to main content

Forgot Password API - with Postman Testing node js , express js , MySQL,

 // Hello coders , follow previous post for product architecture -   Today we are going to see how to reset password & update it in mysql database-    

==============  follow previous post for helper files & folders ==== 

//================= app.js  ============== 

//to Generate OTP - 

var otp;

function setValue()

      {

    otp =   Math.random();

      otp = otp * 1000000;

        otp = parseInt(otp);

          console.log(otp);

        }

function getValue() {

    console.log(otp); // yup, it's "test"

}

//======= Forgot Button on Login Page- will redirect to /forgotPassord

app.post("/resetpasswordOTP",(req,res)=>{

    //res.redirect("/forgotpassword");            
    res.status(200).json({success:"Enter verified email"}); 
})
//============== Forgot Password Button End ========================

//=============== Page to send OTP method- post, action-"/resetpassword" ============

app.post("/forgotpassword",(req,res)=>{

    const {email}=req.body;

    setValue(); 
        //SendMail() // here we can send otp to email or mobile number with the help of nodemailer but //not using right now instead of we will see otp on terminal or cmd  where our project is running 


        connection.query('SELECT * FROM register WHERE email = ?', [email], (err, rows) => {
                
                if (err)   
                    res.send("Invalid Accout");                     
                else 
                res.json("OTP Sent"); 
        });    
})


//============== Reset Password with the OTP sent from previous post Method

app.put('/resetpassword',function(req,res){
  
        const {email}=req.body;
 if(req.body.otp==otp)
   {     
    req.body.cnpass = hashPassword(req.body.cnpass);
        connection.query(`UPDATE register SET password =?  WHERE email= '${email}'`,[req.body.cnpass],(err,result)=>{
                if(err) 
                res.json("Failed to reset password");
                else 
                res.json("Password Reset successfull");
        }); 

   }
   else
   {
       res.json("Wrong OTP");
   }

}); 
=================== end 

Now Test this api on postman Rest client - 

open postman  & test all three api one bye one - 

1.  Method - Post -  url - localhost:3000/resetpasswordOTP



2. Method Post -  url -localhost:3000/forgotpassword //===== to send OTP



================SEE Otp on console



here OTP is - 886369

3. Method PUT (because we are updating something but post will do also ) - url - localhost:3000/resetpassword

on postmant enter right otp -


Password has been changed you can see your MYSQL Database



Comments