Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Email Verification using OTP in NodeJS

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

This Article speaks about setting up your node.js server for verifying emails via OTP.

Project setup: The name of the package is two-step-auth

Installation: 

npm i --save two-step-auth

Default Usage:

  • Kindly Provide a Company Name so the mail will be treated as important. (This is optional)
  • Import the Auth object from the package and use them as mentioned below.

Folder Structure:

Code Template:




const { Auth } = require("two-step-auth");
  
async function login(emailId) {
  const res = await Auth(emailId);
  // You can follow this approach,
  // but the second approach is suggested,
  // as the mails will be treated as important
  const res = await Auth(emailId, "Company Name");
  console.log(res);
  console.log(res.mail);
  console.log(res.OTP);
  console.log(res.success);
}
  
login("verificationEmail@anyDomain.com");

  • Once if the operation is success, we will have the OTP in hand, and an Email will be sent to the particular user’s mail ID
  • Custom Email ID usage :
    • Pull the LoginCredentials object from the package and use them as mentioned below
    • Prerequisites for using custom Email ID : 
      • Make sure you have enabled the allow less secure apps for that particular account before executing the function.
      • Turn them Off when not in use.

Example:

index.js




const { Auth, LoginCredentials } = require("two-step-auth");
  
async function login(emailId) {
  try {
    const res = await Auth(emailId, "Company Name");
    console.log(res);
    console.log(res.mail);
    console.log(res.OTP);
    console.log(res.success);
  } catch (error) {
    console.log(error);
  }
}
  
// This should have less secure apps enabled
LoginCredentials.mailID = "yourmailId@anydomain.com"
  
// You can store them in your env variables and
// access them, it will work fine
LoginCredentials.password = "Your password"
LoginCredentials.use = true;
  
// Pass in the mail ID you need to verify
login("verificationEmail@anyDomain.com"); 

We have created an OTP verification service.<

Output

Email Sample: This will received in your given mail Id.

Image as seen on mail


My Personal Notes arrow_drop_up
Last Updated : 19 Feb, 2021
Like Article
Save Article
Similar Reads
Related Tutorials