위챗 홈페이지 인증 개발 실례--esay 버전

13635 단어
<?php 
namespace home\Controller;

class Test{

	function index(){
		$appid = '****';
		$appsecret = '****';
		if( $code = i('code') ){
			//   OpenID
			$re = $this->curl('https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code');
			$re = json_decode($re,true);                                                  $re = $this->curl('https://api.weixin.qq.com/sns/userinfo?access_token='.$re['access_token'].'&openid='.$re['openid'].'&lang=zh_CN'); $re = json_decode($re,true);
			co($re);
		}else{
			$callback = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
			$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$callback}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
			jump($url);
		}
	}

	function curl($url,$param=null){
		$post_data = http_build_query ( $param, '&' );
		$ch = curl_init () ;
		curl_setopt($ch, CURLOPT_URL , $url ) ; 
		if( $param != null ){
			curl_setopt($ch, CURLOPT_POST , 1 ) ; 
			curl_setopt($ch, CURLOPT_POSTFIELDS , $post_data ) ; 
		}
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
		// curl_setopt($ch, CURLOPT_HEADER , 0 ) ; 
		$output = curl_exec($ch) ;
		curl_close($ch);
		//       
		return $output;
	}

}
?>

좋은 웹페이지 즐겨찾기