WeChat ミニ プログラムの人気に伴い、より便利なエクスペリエンスをユーザーに提供する開発プラットフォームとして WeChat ミニ プログラムを使用する開発者が増えています。中でもSMS認証コードは、ユーザー登録やログインなどの場面で欠かせないものです。この記事では主に、PHP を使用して WeChat ミニ プログラムの SMS 確認コードを実装する方法を紹介します。
1. WeChat access_token の取得
WeChat API を使用する前に、まず access_token を取得する必要があります。 Access_token は WeChat API の呼び出し資格情報です。WeChat API を呼び出すたびに、access_token をリクエスト ヘッダーに含める必要があります。具体的な取得方法は次のとおりです。
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret; $res = json_decode(file_get_contents($url), true); $access_token = $res['access_token'];
2. ランダムな検証コードを生成します
ランダムな検証コードを生成するプロセスは非常に簡単で、PHP の組み込み rand 関数を使用するだけです。 。具体的なコードは次のとおりです:
$code = rand(1000, 9999);
3. SMS API を呼び出して検証コードを送信します
access_token を取得してランダムな検証コードを生成した後、SMS API を呼び出して送信できます。確認コード。ここでは Tencent Cloud SMS を例として取り上げますが、他の SMS サービス プロバイダーも同様です。
// 生成签名 $timestamp = time(); $sig = md5("appkey=".$appkey."×tamp=".$timestamp); // 生成短信内容 $content = "【签名】验证码为:".$code.",有效期5分钟,请勿泄露。如非本人操作,请忽略本短信。"; // 发送短信 $url = "https://yun.tim.qq.com/v5/tlssmssvr/sendsms?sdkappid=".$sdkappid."&random=".rand(); $data = array( "tel" => array("nationcode" => "86", "mobile" => $mobile), "type" => 0, "msg" => $content ); $data = json_encode($data); $header = array( "Content-type: application/json", "Authorization: ".$sig, "Timestamp: ".$timestamp ); $options = array( "http" => array( "method" => "POST", "header" => implode(" ", $header), "content" => $data ) ); $res = json_decode(file_get_contents($url, false, stream_context_create($options)), true);
4. 検証コードを Redis に保存します
検証コードの有効期間を確保するには、生成されたランダムなコードを保存する必要があります。確認コードを Redis に送信し、有効期間を設定します。具体的なコードは次のとおりです。
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->setex($mobile, 300, $code);
5. 完全なコード
function send_sms($mobile, $appid, $appsecret, $sdkappid, $appkey, $templateid) { // 获取access_token $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret; $res = json_decode(file_get_contents($url), true); $access_token = $res['access_token']; // 生成随机验证码 $code = rand(1000, 9999); // 发送短信 $timestamp = time(); $sig = md5("appkey=".$appkey."×tamp=".$timestamp); $content = "【签名】验证码为:".$code.",有效期5分钟,请勿泄露。如非本人操作,请忽略本短信。"; $url = "https://yun.tim.qq.com/v5/tlssmssvr/sendsms?sdkappid=".$sdkappid."&random=".rand(); $data = array( "tel" => array("nationcode" => "86", "mobile" => $mobile), "type" => 0, "msg" => $content ); $data = json_encode($data); $header = array( "Content-type: application/json", "Authorization: ".$sig, "Timestamp: ".$timestamp ); $options = array( "http" => array( "method" => "POST", "header" => implode(" ", $header), "content" => $data ) ); $res = json_decode(file_get_contents($url, false, stream_context_create($options)), true); // 保存验证码到Redis $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->setex($mobile, 300, $code); return array("code" => $code); }
6. 概要
この記事では、PHP を使用して WeChat ミニ プログラムの SMS 確認コードを実装する方法を紹介します。 access_token の取得を含む、ランダムな検証コードを生成し、SMS API を呼び出して検証コードを送信し、検証コードを Redis に保存します。これらのヒントは WeChat ミニ プログラムに適用されるだけでなく、他の種類のアプリケーションにも使用できます。この記事が皆さんのお役に立てば幸いです。
以上がPHP を使用して WeChat アプレット SMS 検証コードを実装するためのヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。