《「WeChat微信授權登錄」PHP微信授權登錄小白貼》要點:
本文介紹了「WeChat微信授權登錄」PHP微信授權登錄小白貼,希望對您有用。如果有疑問,可以聯系我們。
我們用php做微信授權最主要使用的便是php的curl,下面我會為大家貼上一段.
首先,我們先去微信公眾平臺 - 接口權限 - 網頁授權(網頁授權獲取用戶基本信息中) 修改網頁授權域名,我們只需要將網站拜訪目錄配置好,并且把需要下載的txt上傳當前目錄就行了,如下圖.
下面我們開始第一步,獲取code,我把獲取code辦法都寫在下圖的注釋中,供客官們閱讀.
配置好之后,我們拜訪上面的鏈接看到的就是下面的頁面,當點擊確認的時候,我們就會轉跳到授權配置的回調頁面,如下圖,下面小編為大家寫一下授權回調頁面,做一些有意思的事.
第二步獲取的json數據未json_decode之前如下圖.
第三步獲取的json數據未json_decode之前如下圖.
具體的參數闡明我們都可以在微信公眾平臺技術文檔的微信網頁授權中查看.
之后我們就可以拿到微信用戶的各種信息了,可以做一些操作,好比存入數據庫和其他一些判斷,這里小編就不一一寫出來了.
重要提示:我們還有一步,就是有很多客官別的數據都拿到了,就是沒有unionid,這里我們還必要將公眾號綁定到微信開放平臺,我們只必要登錄微信開放平臺,選擇下面的選項,由管理員將公眾號添加進去即可.
綁定勝利之后我們在微信公眾平臺中基本配置下就能看到我們剛才綁定的開放平臺賬號了.
然后我們再次重復上面的過程,就可以發現用戶的所有信息包含unionid都獲取到了.
下面為了大家便利,我將我編寫的php文件貼在下面,供大家復制查看.
//https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
//這里攜帶的幾個參數
//appid 公眾號唯一標識 在公眾平臺 - 基本配置中查看
//redirect_uri 回調地址 成功授權之后重定向回調地址 必要進行urlencode
//response_type 直接填寫code即可
//scope 官網解釋叫應用授權作用域 其實相當于兩個參數中選擇一個填寫
//第一種參數選擇填寫 snsapi_base 不會彈出授權頁面 靜默授權
//第二種參數選擇填寫 snsapi_userinfo 彈出授權確認頁面 我們下面為了獲取更多信息 使用第二種參數選擇
//state 和 wechat_redirect 我們使用鏈接中的即可 不必要修改
//下面我們進入回調頁環節
//首選我們準備一個curl 為下面幾次哀求用
function do_curl($url,$data='',$agent=''){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0); //是否返回header頭
curl_setopt($ch, CURLOPT_TIMEOUT,6); //超時時間
if($data){
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 從證書中檢查SSL加密算法是否存在
if($agent){
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
}
$content = curl_exec($ch);
return $content;
}
//第一步 截取code 這一步 我們從回調的url中截取到code的參數 而且聲明一個變量作為code
$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
$arr = parse_url($url);
$arr_query = convertUrlQuery($arr['query']);
$code = $arr_query['code'];
//第二步 使用curl根據code來獲取access_token和openid
//必要的參數appid和secret都在公眾平臺 - 基本配置中查看 code則是我們上面獲取的code $code
$access_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code ';
//之后我們使用curl發送哀求 將成功哀求的數據json_decode之后 我們再定義變量$access_token和$openid 供后面使用
$result = json_decode(do_curl($access_token_url));
$access_token = $result->access_token;
$openid = $result->openid;
//第三部 根據access_token和openiid去獲取微信用戶信息 第三個參數lang是語言的選擇
$user_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
$data = json_decode(do_curl($user_url));
小編虛心的歡迎各位年夜神的指教和糾錯,也歡迎沒太懂的客官留言,小編會第一時間看到之后進行回復的.
維易PHP培訓學院每天發布《「WeChat微信授權登錄」PHP微信授權登錄小白貼》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。