Rumah > Artikel > pembangunan bahagian belakang > Petua untuk melaksanakan kod pengesahan SMS applet WeChat menggunakan PHP
Dengan populariti program mini WeChat, semakin ramai pembangun mula menggunakan program mini WeChat sebagai platform pembangunan untuk memberikan pengguna pengalaman yang lebih mudah. Antaranya, kod pengesahan SMS adalah bahagian yang sangat diperlukan dalam pendaftaran pengguna, log masuk dan senario lain. Artikel ini terutamanya memperkenalkan cara menggunakan PHP untuk melaksanakan kod pengesahan SMS untuk program mini WeChat.
1. Dapatkan access_token WeChat
Sebelum menggunakan WeChat API, anda perlu mendapatkan access_token terlebih dahulu. Access_token ialah bukti kelayakan panggilan untuk WeChat API Setiap kali anda memanggil WeChat API, access_token perlu dibawa dalam pengepala permintaan. Kaedah pemerolehan khusus adalah seperti berikut:
$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. Hasilkan kod pengesahan rawak
Proses menghasilkan kod pengesahan rawak adalah sangat mudah, hanya gunakan fungsi rand terbina dalam PHP . Kod khusus adalah seperti berikut:
$code = rand(1000, 9999);
3 Panggil API SMS untuk menghantar kod pengesahan
Selepas mendapatkan akses_token dan menjana kod pengesahan rawak, anda boleh menghubungi API SMS untuk menghantar. kod pengesahan. Di sini kami mengambil Tencent Cloud SMS sebagai contoh, dan pembekal perkhidmatan SMS lain adalah serupa.
// 生成签名 $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. Simpan kod pengesahan ke Redis
Untuk memastikan tempoh sah kod pengesahan, anda perlu menyimpan rawak yang dijana kod pengesahan kepada Redis dan tetapkan tempoh sah. Kod khusus adalah seperti berikut:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->setex($mobile, 300, $code);
5. Kod lengkap
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. Ringkasan
Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan kemahiran pengesahan SMS applet WeChat kod, termasuk mendapatkan access_token , menjana kod pengesahan rawak, hubungi API SMS untuk menghantar kod pengesahan dan menyimpan kod pengesahan ke Redis. Petua ini digunakan bukan sahaja untuk program mini WeChat, tetapi juga untuk jenis aplikasi lain. Semoga artikel ini bermanfaat kepada semua.
Atas ialah kandungan terperinci Petua untuk melaksanakan kod pengesahan SMS applet WeChat menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!