ホームページ > PHPフレームワーク > ThinkPHP > [辛口情報] ThinkPHP6 ドッキング WeChat スキャン コードでログインする

[辛口情報] ThinkPHP6 ドッキング WeChat スキャン コードでログインする

王雪芹
リリース: 2020-05-02 11:36:07
オリジナル
4502 人が閲覧しました

近年、インターネット Web サイトへのログインに WeChat が使用されるシナリオが増えています。統計によると、2020 年に世界の WeChat の数は 11 億に達しました。確かに、WeChat は便利なソーシャル ツールであり、小学生から 7 番目の叔父や叔母まで、誰でも使用できます。多くの人は QQ を持っていないかもしれませんが、WeChat は持っているはずです。したがって、WeChat ログインはプログラマーにとって必須の作業スキルです。

WeChat QR コードをスキャンしてログインし、ThinkPHP6 に接続します。あとは何もせずに、バスに乗り込むだけです。

1. 情報を準備します:

1. https://open.weixin.qq.com/ にアクセスし、アカウントを登録します。

2. 開発者認定: Enterprise。

3. Web サイト アプリケーションを作成する: Web サイトのドメイン名を登録し (第 2 レベルのドメイン名を使用できます)、対応する AppID と AppSecret を取得し、WeChat ログインを申請してレビューに合格する必要があります。

2. WeChat にログインする手順:

まず、WeChat 公式 Web サイトに記載されている手順をご覧ください: https ://developers.weixin .qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

1. 第三者が WeChat 承認ログイン要求を開始します。サードパーティ アプリケーションの承認を許可すると、WeChat はアプリケーションを開始するか、サードパーティの Web サイトにリダイレクトし、承認一時チケット コード パラメーターを取得します。

2. コード パラメーターを通じて AppID と AppSecret を追加します。 API を介して access_token を交換します;

3. access_token を介してインターフェイス呼び出しを行い、ユーザーの基本的なデータ リソースを取得したり、ユーザーが基本的な操作を実装できるようにします。

3. WeChat ログインの実用的なリンクへのアクセス:

1. WeChat ログイン アイコンを配置し、リンクを追加します。

たとえば、www.a,com/index/user/weixindenglu にリンクします。 weixindenglu メソッドのコードを見てみましょう。

public function weixindenglu(){
   $appid='wx868f988d79a4f2bb';
   $redirect_uri=urldecode('http://www.dongpaiweb.cn/index/index/weixin.html');
   $url='https://open.weixin.qq.com/connect/qrconnect?appid='.$appid.'&redirect_uri='.$redirect_uri.'&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect';
        header("location:".$url);
}
ログイン後にコピー

この時点で、WeChat アイコンをクリックすると、QR コード スキャン インターフェイスが表示されます。携帯電話を取り出して、WeChat の QR コードをすばやくスキャンします。

(注: $redirect_uri はコールバック アドレスであり、ユーザーが WeChat コードをスキャンした後の処理アドレスを意味します)。

2. ユーザーのコードを取得します。

WeChat で QR コードをスキャンすると、上で定義したコールバック アドレス weixin メソッドにジャンプします。 weixin メソッド コードを見てみましょう:

    public function weixin(){
        $code=input('get.code');
    }
ログイン後にコピー

コードは非常に簡単に取得できます。印刷効果を見てみましょう:

[辛口情報] ThinkPHP6 ドッキング WeChat スキャン コードでログインする

3。アクセス トークンと openid を取得します。引き続き weixin() メソッドにコードを追加します:

public function weixin(){
        $code=input('get.code');
        $appid='wx868f988d79a4f25b';
        $appsecret='82b426f2882b6a1398b8312cc1de037b';
        $url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
        
        //json对象变成数组
        $res=json_decode(file_get_contents($url),true);
        $access_token=$res['access_token'];
        $openid=$res['openid'];

    }
ログイン後にコピー

このようにして、access_token と openid を取得しました。印刷効果を見てみましょう:

[辛口情報] ThinkPHP6 ドッキング WeChat スキャン コードでログインする

5. すべてのユーザー情報を取得するために、weixin() メソッドにコードを追加し続けます:

public function weixin(){
        $code=input('get.code');
        $appid='wx868f988d79a4f25b';
        $appsecret='82b426f2882b6a1398b8312cc1de037b';
        $url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
        
        //json对象变成数组
        $res=json_decode(file_get_contents($url),true);
        $access_token=$res['access_token'];
        $openid=$res['openid'];

        $urlyonghu='https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid;
        $user=json_decode(file_get_contents($urlyonghu),true);
        print_r($user);
    }
ログイン後にコピー

このようにして、ユーザーのニックネーム、アドレス、アバター、その他の情報を取得します。印刷効果を見てみましょう:

[辛口情報] ThinkPHP6 ドッキング WeChat スキャン コードでログインする

ユーザーの WeChat 情報を取得した後、データを整理し、それをデータベースに入れます。

ユーザーが初めてログインする場合は、携帯電話番号をバインドするためのインターフェイスを設定できます。携帯電話番号をバインドすると、登録は成功します。携帯電話番号がバインドされていることが検出された場合は、ログインが成功したことを意味し、成功インターフェイスにジャンプします。

上記は、ThinkPHP6 を WeChat スキャン コードに接続してログインする手順です。昇給・昇進を目指して、早くこのスキルを身につけよう!

以上が[辛口情報] ThinkPHP6 ドッキング WeChat スキャン コードでログインするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート