Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan log masuk WeChat dalam php

Bagaimana untuk melaksanakan log masuk WeChat dalam php

王林
王林asal
2021-10-14 15:21:295566semak imbas

Cara melaksanakan log masuk WeChat dalam PHP: 1. Kebenaran dengan persetujuan pengguna dan dapatkan kod 2. Tukar kod untuk akses_token kebenaran laman web; 3. Dapatkan maklumat pengguna.

Bagaimana untuk melaksanakan log masuk WeChat dalam php

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP 7, komputer thinkpad t480.

Tidak sukar untuk menggunakan PHP untuk log masuk ke WeChat Ia boleh dibahagikan kepada tiga langkah, seperti yang ditunjukkan di bawah:

Langkah 1: Pengguna bersetuju untuk membenarkan dan mendapatkan kod.

//微信登录
	public function wxlogin()
	{
		$appid = "";
   	 	$secret = "";
   	 	
   	 	$str="http://***.***.com/getToken";
   	 	$redirect_uri=urlencode($str);
		//通过code获得 access_token + openid
		$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";
      
       header("Location:" . $url);
	}

Langkah kedua: tukar kod untuk akses_token kebenaran halaman web

public function getToken()
{
$code = $_GET["code"];

        $appid = "";
       $secret = "";

//通过code获得 access_token + openid
       $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid
        ."&secret=" . $secret . "&code=" . $code . "&grant_type=authorization_code";
        $jsonResult =$this->https_request($url);
        $resultArray = json_decode($jsonResult, true);

        $access_token = $resultArray["access_token"];
        $openid = $resultArray["openid"];

//第三步  获取用户信息
         //通过access_token + openid 获得用户所有信息,结果全部存储在$infoArray里,后面再写自己的代码逻辑
        $infoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" . $access_token . "&openid=" . $openid.'&lang=zh_CN';
        $infoResult = $this->https_request($infoUrl);
        $infoArray = json_decode($infoResult, true);

       if($infoArray['unionid'])
        {
        
     }

}

Tambahan: kaedah yang digunakan dalam kod

// An highlighted block
function https_request($url, $data = null)
	{
	    $curl = curl_init();
	    curl_setopt($curl, CURLOPT_URL, $url);
	    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
	    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
	    if (!empty($data)){
	        curl_setopt($curl, CURLOPT_POST, 1);
	        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
	    }
	    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	    $output = curl_exec($curl);
	    curl_close($curl);
	    return $output;
	}

Pembelajaran yang disyorkan: latihan php

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan log masuk WeChat dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn