這篇文章主要介紹“如何用php實現(xiàn)微信登錄”,在日常操作中,相信很多人在如何用php實現(xiàn)微信登錄問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何用php實現(xiàn)微信登錄”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
成都創(chuàng)新互聯(lián)是專業(yè)的寧都網(wǎng)站建設公司,寧都接單;提供成都網(wǎng)站建設、網(wǎng)站設計,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行寧都網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
php實現(xiàn)微信登錄的方法:1、經(jīng)用戶同意授權,獲取code;2、通過code換取網(wǎng)頁授權access_token;3、獲取用戶信息。
本文操作環(huán)境:windows10系統(tǒng)、php 7、thinkpad t480電腦。
使用php實現(xiàn)微信登錄其實并不難,可以簡單地分為三步進行,如下所示:
第一步:用戶同意授權,獲取code
//微信登錄 public function wxlogin() { $appid = ""; $secret = ""; $str="http://***.***.com/getToken"; $redirect_uri=urlencode($str); //通過code獲得 access_token + openid $url="https://open.weixin.qq.com/connect/oauth3/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; header("Location:" . $url); }
第二步:通過code換取網(wǎng)頁授權access_token
public function getToken() { $code = $_GET["code"]; $appid = ""; $secret = ""; //通過code獲得 access_token + openid $url="https://api.weixin.qq.com/sns/oauth3/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實現(xiàn)微信登錄”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享名稱:如何用php實現(xiàn)微信登錄
本文URL:http://weahome.cn/article/pdcjhd.html