随著(zhe)互聯網的(de)不斷發展,網上的(de)東西越來(lái)越多(duō)。而有些平台,爲了(le)留住客戶,就開發一些
會員(yuán)系統,通(tōng)過會員(yuán),是不是發放一些福利給客戶,從而達到留住客戶,讓客戶更加喜歡
我們的(de)平台的(de)目的(de)。但是随著(zhe)這(zhè)些平台越來(lái)越多(duō),就造成許許多(duō)多(duō)賬号,可(kě)能會讓客戶産生一種很亂、記不住的(de)感覺。這(zhè)個(gè)就出現了(le)第三方登錄。現在,基本上每個(gè)人(rén)都有QQ、微信,我們隻需要記住我們常用(yòng)的(de)這(zhè)些,然後我們在我們平台上調用(yòng)第三方登錄接口,就可(kě)以實現QQ、微信登錄,從而不需要創建那麽多(duō)賬号,省去許多(duō)麻煩,現在就給大(dà)家介紹一些常用(yòng)的(de)第三方登錄接口。
1、QQ登錄
首先,我們需要去QQ開放平台創建應用(yòng),然後再回調地址寫上我們的(de)網站回調地址,然後提交審核,審核通(tōng)過後,我們就會獲得(de)AppID、AppSecret。從而進行接下(xià)來(lái)的(de)開發
$Client_id = "261****307"; //appkey
$Client_secret = "85593e16*********4aee42d7ff774"; //App Sercet
$Redirect_uri = "http://*********/Weibo/auth"; //回調地址
//接收code值
$Code = I('get.code');
if(!$Code) $this->error("code獲取失敗!");
//獲取access_token
$url = "https://graph.qq.com/oauth2.0/token?client_id=$Client_id&client_secret=$Client_secret&grant_type=authorization_code&redirect_uri=$Redirect_uri&code=$Code";
$info = $this->httpsRequest($url);
//json轉數組
$info_json = json_decode($info,true);
//獲取access_token和(hé)openid,用(yòng)于獲取用(yòng)戶信息
$access_token = $info_json['access_token'];
$openid = $info_json['openid'];
通(tōng)過以上,獲取access_token和(hé)openid,用(yòng)于獲取用(yòng)戶信息
header("Content-type:text/html;charset=utf-8");
//獲取用(yòng)戶信息
$info_url = "https://graph.qq.com/oauth2.0/token?access_token=$access_token&openid=$openid";
$ch = curl_init();
//設置選項,包括URL
curl_setopt($ch, CURLOPT_URL,$info_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//執行并獲取HTML文檔内容
$output = curl_exec($ch);
curl_close($ch);
//此處可(kě)打印用(yòng)戶所有信息
//var_dump($output);
$userinfo = json_decode($output,true);
這(zhè)樣我們就獲得(de)了(le)用(yòng)戶信息
2.微信登錄
同樣,我們也(yě)需要去微信開發平台去創建應用(yòng),獲得(de)AppID
$APPID= C('APPID');//AppID
$rand_code = 'M'.time().rand('100001','999999');//随機字符串
//登錄後返回的(de)地址
$REDIRECT_URI = 'http://www.leseulstore.com/Weixin/login_return?rand_code='.$rand_code;
//微信登錄地址,也(yě)是二維碼地址
$scope='snsapi_userinfo';//需要授權
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state=1#wechat_redirect';//登錄驗證
vendor("phpqrcode.phpqrcode");//調用(yòng)二維碼類
$level = 'L';// 點的(de)大(dà)小:1到10,用(yòng)于手機端4就可(kě)以了(le)
$size = 7;// 下(xià)面注釋了(le)把二維碼圖片保存到本地的(de)代碼,如果要保存圖片,用(yòng)$fileName替換第二個(gè)參數false
$fileName ='Uploads/qcode/2.png'; // 生成的(de)文件名
$QRcode = new \QRcode();
$QRcode->png($url, $fileName, $level, $size);//生成二維碼
這(zhè)樣我們就生成二維碼,通(tōng)過微信掃描二位碼登錄。
以上,就是兩個(gè)很常用(yòng)的(de)第三方登錄。如果有什(shén)麽不明(míng)白的(de),可(kě)以到第三方平台下(xià)載開放接口看一下(xià)。下(xià)面是向第三方發送請求的(de)方法