Xác thực số điện thoại sử dụng firebase gửi sms mã otp trên serve nodejs

Sử dụng firebase gửi otp sms xác thực số điện thoại cùng trên serve nodejs

1. Khởi tạo project nodejs express

2. Cài đặt package googleapis

yarn add googleapis

3. Sử dụng package và gừi mã otp

const { google } = require("googleapis");

// Gửi sms mã otp về số điện thoại

function sendSmsOtp(req, res){

const identityToolkit = google.identitytoolkit({

    auth: "AIzaSyBZUyfNngK4CsLJfaJfDNjdbBe8A4qBN6E",

    version: "v3",

  });

  const response = await identityToolkit.relyingparty.sendVerificationCode({

    requestBody: {

      phoneNumber: phoneNumber,

      recaptchaToken: req.body.recaptchaToken,

    },

  });

const sessionOtp = response.data.sessionInfo; 

}

Lưu ý:

1. Lưu lại sessionOtp để dùng cho việc xác thực mã otp

2. Định dạng của phoneNumber chứa đầu số quốc gia. Ví dụ: +84329083434 (Phải chứa đầu số quốc gia ví dụ việt nam đầu số là +84) không thì sẽ không được mã otp

4. Xác thực mã otp

function verifyOtp(req, res){

const responseOtp = await identityToolkit.relyingparty.verifyPhoneNumber({

      code: req.body.code,

      sessionInfo: user.sessionOtp,

});

if (responseOtp && responseOtp.status == 200) {

// Gửi thành công

}

}

Từ khóa: