ホームページ >PHPフレームワーク >ThinkPHP >TP のモバイル WeChat 認証ログイン

TP のモバイル WeChat 認証ログイン

王雪芹
王雪芹オリジナル
2020-09-08 18:07:554032ブラウズ

現在、WeChat は誰にとっても欠かせないソーシャル ツールとなっており、会員制プラットフォームに WeChat でログインできれば、ユーザーとプラットフォーム間の絆が大幅に高まります。今回は、モバイル WeChat での認証ログインの実装について説明します。

1. Web ページの WeChat ログインは WeChat に実装する必要があります。

PC 側のスキャン コード ログインとは異なり、モバイル Web ページは通常のブラウザを使用して WeChat 認証でログインできず、WeChat で使用する必要があることを明確にする必要があります。

2. 準備作業。

認定された WeChat サービス アカウントを持っている必要があります。これは必須条件です。ログイン WeChat パブリック プラットフォームを開き、「インターフェイス許可」を見つけます。

TP のモバイル WeChat 認証ログイン

#Web ユーザー情報を取得する権限はすでにありますが、サービス アカウントが認証されていない場合、この権限は使用できません。

次に、[変更] をクリックして、WeChat 認証が必要なドメイン名を構成します。認証は www.abc.com のように記述する必要があり、http を含めることはできないことに注意してください。間違った書き方は http://www.abc.com です。

3. WeChat に WeChat ユーザー情報を取得する権限を与える

準備が完了したら、ドキュメントに従ってくださいhttps://developers.weixin.qq .com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html に進み、ステップごとに進みます。

ステップ 1: ユーザーは、コードを承認して取得することに同意します。

public function wechat_login(){

            $appid='wxff5b68b041a4fb11';//公众号基本配置中获取
            $redirect_uri='http://a.xx.cn/mobile/user/weixin_m.html';//用户授权后跳转处理的地址
            $url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
            return redirect($url);
        }

ユーザーに wechat_login メソッドへのアクセスを案内します。ここで用意するパラメータは 2 つです。appid は公式アカウントの基本設定で取得します。redirect_uri は WeChat 呼び出し後の処理アドレス コールバックです。ユーザーが許可するため、ここに記述する必要があります http 絶対アドレス、外部ネットワークからアクセスできるアドレス。

第 2 ステップ: コードを使用して Web ページ認証 access_token を交換する

最初のステップでコールバック メソッド weixin_m を確立します。まずコードを出力して取得できるかどうかを確認しますが、これもプログラムのデバッグではよく行われる手順で、問題がなければ次の手順に進みます。

public function weixin_m(){
            $code=input('get.code');
            halt($code);
}

TP のモバイル WeChat 認証ログイン

次に、access_token を取得します。

public function weixin_m(){
            $code=input('get.code');
            $appid='wxff5b68b241a4fb11';//公众号基本配置中获取
            $appsecret='412a24b17e61317d589b8bf92f374ffc';
            $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";
            $res=json_decode(file_get_contents($url),true);//json转数组
}

リクエスト アドレスに移動して、access_token を取得します。これには、appid、appsecret、code の 3 つのパラメーターが必要です。 appsecret は、パブリック アカウントの基本構成でも取得されます。

取得後、WeChat はデフォルトで json 形式を返すため、操作に便利なように json を配列に変換します。

印刷配列は次のとおりです:

array:6 [
                "access_token" => "37_3RRxoQZKuECSpCfGMYLcO-1ZXu_uhTkdku_m29u4XfSq9-Ve_0Fn5_K6vUBpkiL1iXRpEBepOfeMZZA7TGm-bg"
                 "expires_in" => 7200
                "refresh_token" => "37_CjmxjzqBCqiIVH3aKjR22RQniCr_7DYYJYgodMONV5822FnfKuq0VwOS0B9dfucHf6GxTjXbczruwS5NIkGAWw"
                 "openid" => "oaq-51XAHNaj9qUxVwYu3-elVTa0"
                 "scope" => "snsapi_userinfo"
                 "unionid" => "oO0Bhv6ZSw4ZYV60CMzi2p4eUO7s"
            ]

このようにして、access_token と openid を取得することに成功しました。

ステップ 3: ユーザー情報を取得します (スコープ snsapi_userinfo が必要です)

ドキュメントに従ってアドレスを要求します:

 $user_url="https://api.weixin.qq.com/sns/userinfo?access_token=".$res['access_token']."&openid=".$res['openid']."&lang=zh_CN";            
 $userData=json_decode(file_get_contents($user_url),true);//json转数组            
 halt($userData);

リクエストには、2 番目のステップで取得した access_token パラメーターと openid パラメーターを含める必要があります。 WeChat からの返信はまだ json 形式なので、json を再度配列に変換します。

次のように配列を出力します。

TP のモバイル WeChat 認証ログイン

ユーザー データを取得した後、配列を保存したり、他の操作を実行したりできます。

ここまで「モバイル WeChat 認証ログイン」を紹介しました。全体的な難易度はそれほど難しくありません。また、全員が忍耐強くドキュメントを読む必要があります。ドキュメントは最良の教師です。さあみんな!

以上がTP のモバイル WeChat 認証ログインの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。