Beispielcode zur Implementierung der Anmeldung mit Bestätigungscode in der SMS-API in Node

Beispielcode zur Implementierung der Anmeldung mit Bestätigungscode in der SMS-API in Node

1. Node-Server einrichten + Datenbankverbindung

Die Bedienung ist hier relativ einfach und leicht verständlich. Siehe: Schnelle Einrichtung des Node-Servers

2. Nutzung der SMS-API

Für die SMS-API verwenden wir hier den SMS-Dienst von Alibaba Cloud als Beispiel (jede Plattform mit SMS-Dienst kann ihn verwenden).

2.1 Melden Sie sich bei der Plattform an, um Parameter zu konfigurieren

1. Rufen Sie die SMS-Konsole auf und konfigurieren Sie das zu sendende SMS-Format. Wenn keine Signatur vorhanden ist, müssen Sie vor dem Vorgang eine Signatur anfordern.

Bildbeschreibung hier einfügen

2. Klicken Sie auf API-Demo anzeigen, um die konfigurierte API aufzurufen; wählen Sie Node.js

Bildbeschreibung hier einfügen

2.2 Verwenden Sie die generierte API im Projekt

Codekommentare sind detailliert

const Core = require('@alicloud/pop-core'); //cwen ruft das Ali-SMS-Modul auf (muss zuerst installiert werden)
//cwen konfiguriert die Alibaba SMS-Service-API let client = new Core({
 accessKeyId: '<accessKeyId>', // Muss zuerst angewendet werden (Schritte unten)
 accessKeySecret: '<accessSecret>', // Muss zuerst angewendet werden (Schritte unten)
 Endpunkt: „https://dysmsapi.aliyuncs.com“, //Keine Änderung nötig. API-Version: „2017-05-25“ //Keine Änderung nötig. });
//cwen-Anforderungsmethode let requestOption = {
  Methode: 'POST'
};

//# Erzeuge eine zufällige vierstellige Zahl, um den Verifizierungscode zu simulieren function rander(max, min) {
  gibt Math.floor(Math.random() * (max - min)) + min zurück
}
//# Handynummer + Bestätigungscode speichern (zur einfachen Überprüfung)
var loginInfo = [];
//# Überprüfen Sie, ob die Telefonnummer einen Bestätigungscode gesendet hat let validate = (phone) => {
  returniere loginInfo.some(item => item.phone === phone)
}
//# Überprüfen Sie, ob der Bestätigungscode konsistent ist let validateCode = (phone, code) => {
  returniere loginInfo.some(item => (item.phone === Telefon && item.code == Code))
}

//cwen verwendet die Alibaba Cloud API, um eine SMS-Bestätigung zu senden (Bestätigungscode-Anmeldung)
sendLoginCroeCode = async(req, res) => {
  lass { Telefon } = req.body;
  let randCode = rander(1000, 9999);
  var Parameter = {
      "RegionId": "cn-hangzhou",
      "PhoneNumbers": Telefon, // Telefonnummer des Kunden "SignName": "小陈应用ya", // Signatur "TemplateCode": "SMS_197625305", // Vorlage, die zum Senden von Textnachrichten verwendet wird "TemplateParam": JSON.stringify({ 'code': randCode }) // den zu sendenden Bestätigungscode angeben (hier wird die Rander-Funktion als Beispiel verwendet)
    }
     //# Vor dem Senden des Bestätigungscodes feststellen, ob die Mobiltelefonnummer registriert wurde if (await isRegister(phone)) { // Dies ist eine Datenbankoperation (kann ignoriert werden)
    client.request('SendSms', params, requestOption).then((Ergebnis) => {
      wenn (Ergebnis.Code == 'OK') {
        res.send({
          Status: 200,
          Nachricht: „Erfolgreich gesendet“
        });
        loginInfo.push({
          Telefon: Telefon,
          Code: Zufallscode
        });
        console.log(Zufallscode)
      } anders {
        res.send({
          Status: 400,
          Nachricht: „Senden fehlgeschlagen“
        })
      }
    })
  } anders {
    res.send({
      Status: 400,
      msg: „Diese Telefonnummer ist nicht registriert“
    })
  }
}

//# Anmeldeschnittstelle für Bestätigungscode let phoneCodeLogin = async(req, res) => {
  let { Telefon, Code } = req.body;
  if (validate(phone)) { //Beurteilen, ob die Mobiltelefonnummer einen Bestätigungscode gesendet hatif (validateCode(phone, code)) { //Beurteilen, ob der Bestätigungscode mit der Mobiltelefonnummer übereinstimmtlet user = await isFirstLogin(phone); //Dies ist eine Datenbankoperation zum Abrufen von Benutzerinformationen (kann ignoriert werden)
      res.send({
        Status: 200,
        msg: 'Anmeldung erfolgreich',
        Daten: Benutzer[0]
      })
      loginInfo = []; // Die Anmeldung war erfolgreich. Löschen Sie das Array sofort, um einen erneuten Fehler beim Senden des Bestätigungscodes zu vermeiden.} else {
      res.send({
        Status: 400,
        msg: ‚Fehler beim Bestätigungscode‘
      })
    }
  } anders {
    res.send({
      Status: 400,
      Nachricht: „Verifizierungscode nicht erhalten“
    })
  }
}

// Hinweis: Denken Sie daran, die Schnittstelle am Ende verfügbar zu machen

Hinweis : accessKeyId、accessKeySecret müssen vor der Verwendung beantragt werden

Bildbeschreibung hier einfügen

3. Melden Sie sich über die Schnittstelle an

Hier nehmen wir als Beispiel das Postman-Schnittstellen-Debugging-Tool und die Mobiltelefonnummer ist die in der Datenbank registrierte Mobiltelefonnummer

Prüfcode anfordern

Bildbeschreibung hier einfügen

Bestätigungscode auf Mobiltelefon erhalten

Bildbeschreibung hier einfügen

Bestätigungscode-Anmeldung

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über den Beispielcode zur Implementierung der Anmeldung mit Bestätigungscode mit SMS-API in Node. Weitere relevante Inhalte zur Anmeldung mit SMS-Bestätigungscode von Node finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Ali größer als SMS-Bestätigungscode-Knoten koa2-Implementierungscode (neueste)
  • So greifen Sie mit nodejs auf den SMS-Bestätigungscode von Ali Dayu zu
  • Nodejs sendet Post-Request-Funktion (Beispiel für SMS-Verifizierungscode)
  • Nodejs implementiert SMS-Bestätigungscode-Funktion

<<:  Lösung für den MySQL-Fehler „Tabelle kann nicht gelesen werden“ (MySQL-Fehler 1018)

>>:  Eine detaillierte Einführung in Linux-Dateiberechtigungen

Artikel empfehlen

Implementierungscode für die HTML-Drag & Drop-Funktion

Basierend auf Vue Die Kernidee dieser Funktion be...

Detaillierte Erklärung der JS-Ereignisdelegation

1. Jede Funktion ist ein Objekt und belegt Speich...

So zeigen Sie im img-Tag in HTML nur die Bildmitte an (drei Methoden)

Derzeit gibt es drei Möglichkeiten, die Mitte ein...

Fehler beim reduzierten Tabellenzeilenelement

Nehmen wir ein Beispiel: Der Code ist sehr einfach...

Erfahren Sie in einem Artikel mehr über JavaScript-Closure-Funktionen

Inhaltsverzeichnis Variablenbereich Das Konzept d...

MySQL-Trigger-Verwendungsszenarien und Methodenbeispiele

auslösen: Trigger-Verwendungsszenarien und entspr...

So implementieren Sie eine verschachtelte if-Methode in Nginx

Nginx unterstützt weder verschachtelte if-Anweisu...

JS implementiert einen einfachen Zähler

Verwenden Sie HTML, CSS und JavaScript, um einen ...

Zusammenfassung gängiger MySQL-DDL-Operationen

Bibliotheksverwaltung Erstellen einer Bibliothek ...

Detaillierte Analyse der Kompilierung und Installation von vsFTP 3.0.3

Details zur Sicherheitsanfälligkeit VSFTP ist ein...

Eine kurze Einführung in den MySQL-Dialekt

Wenn wir einmal von Datenbanken absehen, was ist ...