這篇文章主要介紹了TP之移動(dòng)端微信授權(quán)登錄的實(shí)現(xiàn)方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括海珠網(wǎng)站建設(shè)、海珠網(wǎng)站制作、海珠網(wǎng)頁(yè)制作以及海珠網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,海珠網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到海珠省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!1、網(wǎng)頁(yè)端微信登錄必須在微信中實(shí)現(xiàn)。
和PC端掃碼登錄不同,移動(dòng)端網(wǎng)頁(yè)無(wú)法使用普通瀏覽器微信授權(quán)登錄,必須在微信中使用,這是必須要明確的。
2、準(zhǔn)備工作。
我們需要有一個(gè)已經(jīng)認(rèn)證的微信服務(wù)號(hào),這是必備條件。我們打開(kāi)登錄微信公眾平臺(tái),找到“接口權(quán)限”。
我們已經(jīng)有了獲取網(wǎng)頁(yè)用戶信息的權(quán)限,如果服務(wù)號(hào)沒(méi)有認(rèn)證的話,這個(gè)權(quán)限是沒(méi)有的。
之后點(diǎn)擊修改,配置需要微信授權(quán)的域名。注意授權(quán)需要寫www.abc.com,不能帶http,錯(cuò)誤寫法:http://www.abc.com。
3、微信授權(quán)獲取微信用戶信息
準(zhǔn)備工作做好后,我們就可以按照文檔https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 來(lái)一步步進(jìn)行了。
第一步:用戶同意授權(quán),獲取code。
public function wechat_login(){ $appid='wxff5b68b041a4fb11';//公眾號(hào)基本配置中獲取 $redirect_uri='http://a.xx.cn/mobile/user/weixin_m.html';//用戶授權(quán)后跳轉(zhuǎn)處理的地址 $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"; return redirect($url); }
我們引導(dǎo)用戶去訪問(wèn)wechat_login這個(gè)方法,這里需要準(zhǔn)備兩個(gè)參數(shù),appid在公眾號(hào)基本配置中獲取,redirect_uri是微信用戶授權(quán)后的處理地址回調(diào),這里一定要寫http絕對(duì)地址,外網(wǎng)能夠訪問(wèn)的地址。
第二步:通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token
我們建立第一步的回調(diào)方法weixin_m。我們先打印code,檢測(cè)我們是否能夠獲取,這也是程序調(diào)試的常用步驟,這步驟沒(méi)問(wèn)題再進(jìn)行下面的。
public function weixin_m(){ $code=input('get.code'); halt($code); }
接下來(lái)我們?cè)佾@取access_token。
public function weixin_m(){ $code=input('get.code'); $appid='wxff5b68b241a4fb11';//公眾號(hào)基本配置中獲取 $appsecret='412a24b17e61317d589b8bf92f374ffc'; $url="https://api.weixin.qq.com/sns/oauth3/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code"; $res=json_decode(file_get_contents($url),true);//json轉(zhuǎn)數(shù)組 }
我們?nèi)フ?qǐng)求地址獲取access_token,其中需要三個(gè)參數(shù):appid、appsecret、code。appsecret同樣也是在公眾號(hào)基本配置中獲取。
獲取后微信默認(rèn)返回是json格式,所以我們把json轉(zhuǎn)成數(shù)組,這樣就方便進(jìn)行操作。
打印數(shù)組如下:
array:6 [ "access_token" => "37_3RRxoQZKuECSpCfGMYLcO-1ZXu_uhTkdku_m29u4XfSq9-Ve_0Fn5_K6vUBpkiL1iXRpEBepOfeMZZA7TGm-bg" "expires_in" => 7200 "refresh_token" => "37_CjmxjzqBCqiIVH3aKjR22RQniCr_7DYYJYgodMONV5822FnfKuq0VwOS0B9dfucHf6GxTjXbczruwS5NIkGAWw" "openid" => "oaq-51XAHNaj9qUxVwYu3-elVTa0" "scope" => "snsapi_userinfo" "unionid" => "oO0Bhv6ZSw4ZYV60CMzi2p4eUO7s" ]
這樣我們就成功獲取到了access_token和openid。
第三步:拉取用戶信息(需scope為 snsapi_userinfo)
我們依然按照文檔去請(qǐng)求地址:
$user_url="https://api.weixin.qq.com/sns/userinfo?access_token=".$res['access_token']."&openid=".$res['openid']."&lang=zh_CN"; $userData=json_decode(file_get_contents($user_url),true);//json轉(zhuǎn)數(shù)組 halt($userData);
請(qǐng)求的時(shí)候需要攜帶我們?cè)诘诙街蝎@取的access_token和openid兩個(gè)參數(shù)。微信返回仍然是json格式,我們?cè)俅伟裫son轉(zhuǎn)成數(shù)組。
打印數(shù)組如下:
獲取到用戶數(shù)據(jù)后,我們就可以對(duì)數(shù)組入庫(kù)或者其他操作了。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“TP之移動(dòng)端微信授權(quán)登錄的實(shí)現(xiàn)方法”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
文章名稱:TP之移動(dòng)端微信授權(quán)登錄的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)
文章分享:http://jinyejixie.com/article8/ceeoop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、用戶體驗(yàn)、自適應(yīng)網(wǎng)站、建站公司、定制網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)