ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejs は SMS 検証を実装します

Nodejs は SMS 検証を実装します

PHPz
PHPzオリジナル
2023-05-23 16:24:081202ブラウズ

モバイル インターネットの普及に伴い、SMS 検証は多くの Web サイトやモバイル アプリケーションの重要な部分になっています。ユーザーの携帯電話番号の信頼性を検証し、アカウントのセキュリティと信頼性を高め、悪意のある登録や不正取引を防止することもできます。 Node.js技術をベースにSMS認証機能を簡単に実装できます。

Node.js は、V8 エンジンに基づく JavaScript 実行環境であり、JavaScript を使用してバックエンド プログラムを開発できます。 Node.js の利点は、高速なネットワークおよびデータ処理をサポートし、その効率的なイベント駆動メカニズムにより非同期プログラミングを簡素化できることです。したがって、Node.js は、同時実行性が高く、パフォーマンスの高いバックエンド アプリケーションの開発に非常に適しています。以下では、Node.js を使用して SMS 検証を実装する方法を示します。

ステップ 1: SMS API サービス プロバイダーの SDK を入手する

SMS 検証機能を実装するには、まず 3 番目のプロバイダーが提供するインターフェイスを通じて SMS 検証コードをユーザーに送信する必要があります。 -party SMS API サービスプロバイダー。ここでは、Alibaba Cloud SMS API サービスを例として取り上げます。 Alibaba Cloud SMS API は、さまざまなシナリオでの SMS のニーズを満たす豊富なインターフェイスと SDK を提供します。

ここでは、Alibaba Cloud 公式 Web サイトにアカウントを登録し、SMS API サービスを購入する必要があります。購入が成功すると、対応する SDK、キー、その他の開発者情報を取得できます。

ステップ 2: Node.js のインストールと構成

Node.js を使用して SMS 検証機能の実装を開始する前に、Node.js 環境をインストールして構成する必要があります。

Node.js は、公式 Web サイトから関連するインストール プログラムをダウンロードできます。インストールが完了したら、コマンド ラインで npm コマンドを使用して、express や body-parser などの一般的な Node.js サードパーティ モジュールをインストールする必要があります。これらのモジュールは、HTTP サーバー、ルーティング、データ処理などの共通機能を提供するため、開発をより便利に行うことができます。インストールが完了したら、SMS 検証機能を実装するための Node.js スクリプト コードを記述する必要があります。

ステップ 3: SMS 認証機能の実装

次に、次の手順で SMS 認証機能を実装します。

1. サードパーティ モジュールと SDK をインポートする

まず、使用する必要がある Node.js サードパーティ モジュールと、Alibaba Cloud SMS API サービスによって提供される SDK をインポートする必要があります。

const express = require('express');
const bodyParser = require('body-parser');
const SMSClient = require('@alicloud/sms-sdk');

2. Express サーバー インスタンスの作成

次に、Express フレームワークを使用して、クライアント要求を処理し、指定したポートをリッスンする HTTP サーバー インスタンスを作成する必要があります。

const app = express();
const port = 3000;

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.listen(port, () => console.log(`Listening on port ${port}`));

このコードは、最初に高速アプリケーション インスタンスを作成し、ポートを 3000 に指定します。次に、body-parser モジュールを使用して、HTTP リクエスト内の JSON 形式のデータを解析します。

3. SMS 確認コードを送信するための API インターフェイスを定義する

SMS 確認コードをユーザーに送信できるようにするには、ユーザーのリクエストを受信し、 SMS 認証コード情報を返します。 API インターフェイスは次のように定義されています。

app.post('/api/sendSMS', (req, res) => {
  // 获取电话号码和验证码
  const phoneNumber = req.body.phoneNumber;
  const verifyCode = generateVerifyCode();

  // 发送验证码短信
  const accessKeyId = 'your_accessKeyId';
  const secretAccessKey = 'your_secretAccessKey';
  const smsClient = new SMSClient({ accessKeyId, secretAccessKey }); 
  smsClient.sendSMS({
    PhoneNumbers: phoneNumber, // 电话号码
    SignName: 'your_sign_name', // 短信签名名称
    TemplateCode: 'your_template_code', // 短信模板CODE
    TemplateParam: JSON.stringify({ code: verifyCode }) // 验证码信息
  }).then(result => {
    console.log(result);
    res.send({
      code: 0,
      message: '发送成功'
    });
  }).catch(err => {
    console.error(err);
    res.send({
      code: -1,
      message: '发送失败'
    });
  });
});

上記のコードの説明は次のとおりです。

  • まず、ユーザーの電話番号phoneNumber とランダムに生成された確認コード verifyCode を取得します。 HTTPリクエストパラメータから。
  • 次に、Alibaba Cloud が提供する SMS API サービス SDK を使用して、SMS 確認コードをユーザーの電話番号に送信します。

accessKeyId と SecretAccessKey は Alibaba Cloud に申請した開発者情報であり、TemplateCode と TemplateParam はそれぞれ Alibaba Cloud SMS コンソールで定義した SMS テンプレートのコードと対応するパラメーターです。

  • 最後に、テキスト メッセージの送信が成功または失敗したときに、対応するメッセージをクライアントに返します。ここでは、Promise コールバック メカニズムを使用して、検証コード SMS の送信が成功または失敗したときに、対応する結果を返します。

4. ユーザーが入力した確認コードを確認する

ユーザーは SMS 確認コードを受け取った後、確認のためにアプリケーションに確認コードを入力する必要があります。そのため、クライアントからの検証リクエストを受け取り、サーバー側で検証コードの検証を行うためのAPIインターフェースを再度定義する必要があります。

app.post('/api/verifySMS', (req, res) => {
  const phoneNumber = req.body.phoneNumber; 
  const verifyCode = req.body.verifyCode; 

  // 验证码比对
  if (verifyCode === '1234') {
    res.send({
      code: 0,
      message: '验证成功'
    });
  } else {
    res.send({
      code: -1,
      message: '验证失败'
    });
  }
});

この API インターフェイスでは、最初にユーザーの電話番号phoneNumber とユーザーが入力した確認コード verifyCode を HTTP リクエスト パラメーターから取得します。次に、ユーザーが入力した認証コードとサーバー側に保存されている認証コードを比較し、一致していれば「認証成功」、一致していなければ「認証失敗」を返します。

まとめると、Node.js の SMS 認証機能の実装は難しくなく、Node.js が提供するイベント駆動の仕組みを利用し、Node.js が提供する API インターフェースと SDK を呼び出すだけで済みます。 SMS API サービス プロバイダー: SMS 認証機能を便利かつ迅速に実装して、アカウントのセキュリティと信頼性を向上させます。

以上がNodejs は SMS 検証を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。