近年、ソーシャル ネットワークの台頭とスマートフォンの普及により、WeChat は人々の日常生活に欠かせないものになりました。インターネットアプリケーションの分野では、WeChatログイン機能の実装は非常に必要な部分です。ご存知のとおり、WeChat の認証メカニズムは OAuth 2.0 認証メカニズムを使用しており、WeChat ログイン機能の実装に非常に便利です。以下では、PHP言語を使用してWeChatログイン機能を実装する方法を詳しく紹介します。
1. WeChat 開発プラットフォームの設定
2. PHP コードの実装
<?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; ?>
上記のコードでは、$appid を入力する必要があります。 $redirect_uri と $scope パラメータ。このうち、$appid は WeChat オープン プラットフォームによって割り当てられた AppID、$redirect_uri はユーザー認証後のコールバック URL (公式アカウントが設定した認証コールバック ページと一致する必要がある)、$scope は snsapi_base と 2 つに分かれています。 snsapi_userinfo 、前者はユーザーの openid のみを取得でき、後者はユーザーの基本情報を取得できます。
<?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字符串转为数组 ?>
このコードでは、承認が成功した後にユーザーから返されたコードを渡し、そのコードを WeChat サーバーに渡して取得します。 access_token と openid。
<?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字符串转为数组 ?>
このコードでは、access_token と openid を使用して、ユーザーのニックネーム、性別、都市などのユーザーの基本情報を取得します。 。ユーザーの基本情報を取得する前に、ユーザーが snsapi_userinfo へのスコープを承認していることを確認する必要があることに注意してください。
<?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. 概要
上記のように、いくつかの簡単な手順で、PHP 言語を使用して WeChat を実装できます。ログイン機能。この記事では、WeChat ログインの最も基本的な実装方法のみを紹介しますが、実際のアプリケーションでは、ユーザーの権限の判断、認証の有効期間など、さらに注意が必要な問題があります。この記事が、WeChat ログインを実装する必要がある開発者に何らかの助けになれば幸いです。
以上がPHPを使用してWeChatログイン機能を実装する詳細な手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。