Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Schritte zur Implementierung der WeChat-Anmeldefunktion mit PHP
Mit dem Aufkommen sozialer Netzwerke und der Beliebtheit von Smartphones ist WeChat in den letzten Jahren zu einem unverzichtbaren Bestandteil des täglichen Lebens der Menschen geworden. Im Bereich Internetanwendungen ist die Implementierung der WeChat-Anmeldefunktion ein sehr notwendiger Bestandteil. Wie wir alle wissen, verwendet der Autorisierungsmechanismus von WeChat den OAuth 2.0-Autorisierungsmechanismus, was die Implementierung unserer WeChat-Anmeldefunktion sehr bequem macht. Im Folgenden stellen wir detailliert vor, wie die WeChat-Anmeldefunktion über die PHP-Sprache implementiert wird.
1. Konfiguration der WeChat-Entwicklungsplattform
2. PHP-Code-Implementierung
<?php $appid = “your_appid”; //appid $redirect_uri = urlencode('http://yourdomain.com/login.php'); //登录成功回调网址,请确保此地址跟公众号设置的授权回调页面路径一致。 $scope = 'snsapi_userinfo'; //snsapi_base 或 snsapi_userinfo $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' . $appid . '&redirect_uri=' . $redirect_uri . '&response_type=code&scope=' . $scope . '&state=STATE#wechat_redirect'; header('Location:' . $url); exit; ?>
Im obigen Code müssen wir die Parameter $appid, $redirect_uri und $scope ausfüllen. Darunter ist $appid die uns von der offenen WeChat-Plattform zugewiesene AppID; $redirect_uri ist die Rückruf-URL nach der Benutzerautorisierung, die mit der vom offiziellen Konto festgelegten Autorisierungsrückrufseite übereinstimmen muss; snsapi_userinfo: Ersteres kann nur die openid des Benutzers abrufen, und letzteres kann die grundlegenden Informationen des Benutzers abrufen.
<?php $appid = 'your_appid'; //appid $secret = 'your_appsecret'; //appsecret $code = $_GET['code']; //网页授权code $access_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid . '&secret=' . $secret . '&code=' . $code . '&grant_type=authorization_code'; //获取access_token和openid的链接 $access_token = file_get_contents($access_token_url); $access_token_arr = json_decode($access_token, true); //将返回的json字符串转为数组 ?>
In diesem Code übergeben wir den vom Benutzer nach erfolgreicher Autorisierung zurückgegebenen Code und übergeben den Code dann an den WeChat-Server, um access_token und openid zu erhalten.
<?php $access_token = $access_token_arr['access_token']; $openid = $access_token_arr['openid']; $user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token=' . $access_token . '&openid=' . $openid . '&lang=zh_CN'; //获取用户信息的链接 $user_info = file_get_contents($user_info_url); $user_info_arr = json_decode($user_info, true); //将返回的json字符串转为数组 ?>
In diesem Code verwenden wir access_token und openid, um die grundlegenden Informationen des Benutzers abzurufen, z. B. Benutzername, Geschlecht, Stadt usw. Es ist zu beachten, dass wir vor dem Erhalt der grundlegenden Informationen des Benutzers sicherstellen müssen, dass der Benutzer den Bereich für snsapi_userinfo autorisiert hat.
<?php if (!isset($_GET['code']) || empty($_GET['code'])) { //第一步:用户同意授权,获取code $appid = 'your_appid'; $redirect_uri = urlencode('http://yourdomain.com/login.php'); $scope = 'snsapi_userinfo'; $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' . $appid . '&redirect_uri=' . $redirect_uri . '&response_type=code&scope=' . $scope . '&state=STATE#wechat_redirect'; header('Location:' . $url); exit; } else { //第二步:通过code换取网页授权access_token以及openid,再获取用户信息 $appid = 'your_appid'; $secret = 'your_appsecret'; $code = $_GET['code']; $access_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid . '&secret=' . $secret . '&code=' . $code . '&grant_type=authorization_code'; $access_token = file_get_contents($access_token_url); $access_token_arr = json_decode($access_token, true); $access_token = $access_token_arr['access_token']; $openid = $access_token_arr['openid']; $user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token=' . $access_token . '&openid=' . $openid . '&lang=zh_CN'; $user_info = file_get_contents($user_info_url); $user_info_arr = json_decode($user_info, true); //TODO:在这里可以将用户信息存入数据库,供之后使用 //...... } ?>
3. Zusammenfassung
Wie oben erwähnt, können wir mit ein paar einfachen Schritten die PHP-Sprache verwenden, um die WeChat-Anmeldefunktion zu implementieren. In diesem Artikel wird nur die grundlegendste Implementierungsmethode der WeChat-Anmeldung vorgestellt. Bei der tatsächlichen Anwendung gibt es weitere Aspekte, die beachtet werden müssen, z. B. die Beurteilung der Benutzerberechtigungen, die Gültigkeitsdauer der Autorisierung usw. Ich hoffe, dass dieser Artikel Entwicklern helfen kann, die die WeChat-Anmeldung implementieren müssen.
Das obige ist der detaillierte Inhalt vonDetaillierte Schritte zur Implementierung der WeChat-Anmeldefunktion mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!