> 백엔드 개발 > PHP 문제 > PHP에서 WeChat 로그인을 구현하는 방법

PHP에서 WeChat 로그인을 구현하는 방법

王林
풀어 주다: 2023-03-13 09:42:01
원래의
5592명이 탐색했습니다.

PHP에서 WeChat 로그인을 구현하는 방법: 1. 사용자의 동의를 얻어 인증하고 코드를 얻습니다. 2. 웹페이지 인증 access_token에 대한 코드를 교환합니다. 3. 사용자 정보를 얻습니다.

PHP에서 WeChat 로그인을 구현하는 방법

이 기사의 운영 환경: windows10 시스템, php 7, thinkpad t480 컴퓨터.

php를 사용하여 WeChat에 로그인하는 것은 어렵지 않습니다. 아래와 같이 간단하게 세 단계로 나눌 수 있습니다.

1단계: 사용자가 코드 승인 및 획득에 동의합니다

//微信登录
	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);
	}
로그인 후 복사

2단계: 웹페이지 승인을 위한 코드 access_token

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'])
        {
        
     }

}
로그인 후 복사

추가: 코드에 사용된 메소드

// 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;
	}
로그인 후 복사

추천 학습: php training

위 내용은 PHP에서 WeChat 로그인을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿