摘要:若用戶禁止授權,則重定向后不會帶上參數,僅會帶上參數點擊修改第二步封裝拉取用戶信息類公共賬號公眾賬號接收參數第一步根據獲取第二步根據獲取的和存放認證的第三步拉取信息返回數據格式鄭州河南中國帶有用戶信息數組微信認證類下載認證下載
第一步:引導用戶打開如下鏈接 (詳細介紹見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 回調URL的授權域名
如果用戶同意授權,頁面將跳轉至 redirect_uri/?code=CODE&state=STATE。若用戶禁止授權,則重定向后不會帶上code參數,僅會帶上state參數redirect_uri?state=STATE
點擊修改
第二步:封裝拉取用戶信息類
public function Oauth($code="",$mode=0){ $appid = $this->AppId ; //公共賬號 appid $secret = $this->AppSecret ; //公眾賬號AppSecret if($code=="") $code = $_REQUEST["code"] ; //接收參數 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"]){ //第一步 根據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"]){ //第二步 根據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 ; //存放認證的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返回數據格式 {"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 ; //帶有用戶信息數組 }
PS:微信Oauth認證類下載 Oauth認證下載
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20737.html
摘要:本文單純從簡單的技術實現來講,不涉及開放平臺的多維度的運營理念。它的特點就是通過客戶端的后臺服務器,與服務提供商的認證服務器進行互動能夠滿足絕大多數開放平臺認證授權的需求。 本文單純從簡單的技術實現來講,不涉及開放平臺的多維度的運營理念。 什么是開放平臺 通過開放自己平臺產品服務的各種API接口,讓其他第三方開發者在開發應用時根據需求直接調用,例如微信登錄、QQ登錄、微信支付、微博登錄...
摘要:本文單純從簡單的技術實現來講,不涉及開放平臺的多維度的運營理念。它的特點就是通過客戶端的后臺服務器,與服務提供商的認證服務器進行互動能夠滿足絕大多數開放平臺認證授權的需求。 本文單純從簡單的技術實現來講,不涉及開放平臺的多維度的運營理念。 什么是開放平臺 通過開放自己平臺產品服務的各種API接口,讓其他第三方開發者在開發應用時根據需求直接調用,例如微信登錄、QQ登錄、微信支付、微博登錄...
閱讀 1772·2023-04-25 21:50
閱讀 2419·2019-08-30 15:53
閱讀 768·2019-08-30 13:19
閱讀 2743·2019-08-28 17:58
閱讀 2465·2019-08-23 16:21
閱讀 2701·2019-08-23 14:08
閱讀 1374·2019-08-23 11:32
閱讀 1439·2019-08-22 16:09