EasyWeChat ialah SDK WeChat sumber terbuka berdasarkan PHP, yang memudahkan proses interaksi antara pembangun dan akaun rasmi WeChat dan program mini. Dalam artikel ini, saya akan memperkenalkan cara menggunakan EasyWeChat dan PHP untuk melaksanakan fungsi log masuk pengguna applet WeChat, dan melampirkan sampel kod.
Pertama, kita perlu mendapatkan kod kelayakan log masuk WeChat pengguna pada program mini. Bukti kelayakan log masuk pengguna boleh diperolehi melalui antara muka wx.login() program mini. Kaedah mendapatkan adalah seperti berikut:
wx.login({ success: function (res) { if (res.code) { // 将code发送给后端服务器进行后续操作 } else { console.log('登录失败!' + res.errMsg) } } })
Seterusnya, kita perlu menggunakan PHP untuk melaksanakan fungsi pengesahan log masuk bahagian belakang. Pertama, kami perlu memperkenalkan fail pemuatan automatik dan fail konfigurasi EasyWeChat:
require_once 'vendor/autoload.php'; use EasyWeChatFactory; $options = [ 'app_id' => 'your-app-id', 'secret' => 'your-secret', 'token' => 'your-token', ]; $app = Factory::miniProgram($options);
Antaranya, 'id-apl-anda', 'rahsia-anda' dan 'token-anda' perlu diganti dengan program mini sebenar AppID, AppSecret dan Token .
Seterusnya, kita boleh menggunakan kaedah auth->session()
yang disediakan oleh EasyWeChat untuk mendapatkan OpenID dan Kunci Sesi pengguna. Kodnya adalah seperti berikut:
$code = $_GET['code']; $result = $app->auth->session($code); $openid = $result['openid']; $sessionKey = $result['session_key'];
Dengan cara ini, kami berjaya memperoleh OpenID dan Kunci Sesi pengguna. Seterusnya, kami boleh menyimpan OpenID pengguna ke pangkalan data dan menjana token pengenalan pengguna tersuai. Contoh kod adalah seperti berikut:
// 将用户OpenID保存到数据库中 // 这里使用PDO进行数据库操作,你也可以使用其他数据库操作方法 $pdo = new PDO('mysql:host=localhost;dbname=your-database', 'username', 'password'); $statement = $pdo->prepare('INSERT INTO users (openid) VALUES (:openid)'); $statement->execute([':openid' => $openid]); // 生成用户标识token $token = md5(uniqid(rand(), true)); $statement = $pdo->prepare('INSERT INTO tokens (openid, token) VALUES (:openid, :token)'); $statement->execute([':openid' => $openid, ':token' => $token]); // 将token返回给小程序 echo json_encode(['token' => $token]);
Dengan cara ini, kami telah berjaya melaksanakan fungsi log masuk pengguna applet WeChat. Applet boleh menyimpan token yang diperoleh secara tempatan, dan kemudian menghantar token ke pelayan bahagian belakang untuk pengesahan setiap kali panggilan antara muka untuk pengesahan pengguna diperlukan.
Di atas ialah pengenalan ringkas dan contoh kod penggunaan EasyWeChat dan PHP untuk melaksanakan fungsi log masuk pengguna applet WeChat. Semoga ia membantu semua orang. Jika anda mempunyai soalan lain, sila tinggalkan mesej untuk perbincangan.
Atas ialah kandungan terperinci EasyWeChat dan PHP menyedari fungsi log masuk pengguna applet WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!