摘要:若用戶禁止授權(quán),則重定向后不會(huì)帶上參數(shù),僅會(huì)帶上參數(shù)點(diǎn)擊修改第二步封裝拉取用戶信息類公共賬號公眾賬號接收參數(shù)第一步根據(jù)獲取第二步根據(jù)獲取的和存放認(rèn)證的第三步拉取信息返回?cái)?shù)據(jù)格式鄭州河南中國帶有用戶信息數(shù)組微信認(rèn)證類下載認(rèn)證下載
第一步:引導(dǎo)用戶打開如下鏈接 (詳細(xì)介紹見OAuth2.0)
$url = urlencode("http://xxx.com/xxx"); $newurl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx9c807c944920c501&redirect_uri=$url&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
注意這里需要去配置redirect_uri 回調(diào)URL的授權(quán)域名
如果用戶同意授權(quán),頁面將跳轉(zhuǎn)至 redirect_uri/?code=CODE&state=STATE。若用戶禁止授權(quán),則重定向后不會(huì)帶上code參數(shù),僅會(huì)帶上state參數(shù)redirect_uri?state=STATE
點(diǎn)擊修改
第二步:封裝拉取用戶信息類
public function Oauth($code="",$mode=0){ $appid = $this->AppId ; //公共賬號 appid $secret = $this->AppSecret ; //公眾賬號AppSecret if($code=="") $code = $_REQUEST["code"] ; //接收參數(shù) if(!$code) return false ; $cul = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$secret."&code=".$code."&grant_type=authorization_code" ; $cx = file_get_contents($cul) ; $bx = json_decode($cx,true) ; if($bx["errcode"]){ //第一步 根據(jù)code獲取refresh_token $this->restat = 0 ; $this->errmsg = $bx ; return ; } $rtoken = $bx["refresh_token"] ; $rurl = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=".$appid."&grant_type=refresh_token&refresh_token=".$rtoken ; $rr = file_get_contents($rurl) ; $rr = json_decode($rr,true) ; if($rr["errcode"]){ //第二步 根據(jù)refresh_token獲取的access_token和openid $this->restat = 0 ; $this->errmsg = $bx ; return ; } $acct = $rr["access_token"] ; //file_put_contents("abc.txt", $acct); $this->auth_access_token = $acct ; //存放認(rèn)證的token $openid = $rr["openid"] ; if($mode == 0 ) return ; //第三步拉取信息 $purl = "https://api.weixin.qq.com/sns/userinfo?access_token=$acct&openid=$openid&lang=zh_CN" ; $xv = file_get_contents($purl) ; //file_put_contents("xv.txt", $xv); /*$xv返回?cái)?shù)據(jù)格式 {"openid":"XXX","nickname":"Mini_Ren","sex":1,"language":"zh_CN","city":"鄭州","province":"河南","country":"中國","headimgurl":"","privilege":[]} */ $xv = json_decode($xv,true) ; if($xv["errcode"]){ $this->restat = 0 ; $this->errmsg = $bx ; return ; } $this->res = $xv ; return $xv ; //帶有用戶信息數(shù)組 }
PS:微信Oauth認(rèn)證類下載 Oauth認(rèn)證下載
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/20737.html
摘要:本文單純從簡單的技術(shù)實(shí)現(xiàn)來講,不涉及開放平臺的多維度的運(yùn)營理念。它的特點(diǎn)就是通過客戶端的后臺服務(wù)器,與服務(wù)提供商的認(rèn)證服務(wù)器進(jìn)行互動(dòng)能夠滿足絕大多數(shù)開放平臺認(rèn)證授權(quán)的需求。 本文單純從簡單的技術(shù)實(shí)現(xiàn)來講,不涉及開放平臺的多維度的運(yùn)營理念。 什么是開放平臺 通過開放自己平臺產(chǎn)品服務(wù)的各種API接口,讓其他第三方開發(fā)者在開發(fā)應(yīng)用時(shí)根據(jù)需求直接調(diào)用,例如微信登錄、QQ登錄、微信支付、微博登錄...
摘要:本文單純從簡單的技術(shù)實(shí)現(xiàn)來講,不涉及開放平臺的多維度的運(yùn)營理念。它的特點(diǎn)就是通過客戶端的后臺服務(wù)器,與服務(wù)提供商的認(rèn)證服務(wù)器進(jìn)行互動(dòng)能夠滿足絕大多數(shù)開放平臺認(rèn)證授權(quán)的需求。 本文單純從簡單的技術(shù)實(shí)現(xiàn)來講,不涉及開放平臺的多維度的運(yùn)營理念。 什么是開放平臺 通過開放自己平臺產(chǎn)品服務(wù)的各種API接口,讓其他第三方開發(fā)者在開發(fā)應(yīng)用時(shí)根據(jù)需求直接調(diào)用,例如微信登錄、QQ登錄、微信支付、微博登錄...
摘要:詳情接口我們這里主要講的是網(wǎng)站應(yīng)用,網(wǎng)站應(yīng)用微信登錄是基于協(xié)議標(biāo)準(zhǔn)構(gòu)建的微信授權(quán)登錄系統(tǒng)即上面的協(xié)議。在微信客戶端授權(quán)登錄獲取用戶信息的可以查看。微信授權(quán)登錄目前支持模式,適用于擁有端的應(yīng)用授權(quán)。 一、OAuth2.0 OAuth(開放授權(quán))是一個(gè)開放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲的私密的資源(如照片,視頻,聯(lián)系人列表),而無需將用戶名和密碼提供給第三方應(yīng)用。 ...
閱讀 1777·2023-04-25 21:50
閱讀 2425·2019-08-30 15:53
閱讀 772·2019-08-30 13:19
閱讀 2751·2019-08-28 17:58
閱讀 2473·2019-08-23 16:21
閱讀 2706·2019-08-23 14:08
閱讀 1382·2019-08-23 11:32
閱讀 1446·2019-08-22 16:09