400-800-9385
網站建設資訊詳細

網站開發之第三方登錄

發表日期:2019-06-28 11:41:30   作者來(lái)源:方維網絡   浏覽:2756   标簽:網站開發    
随著(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)方法

網站開發代碼

 
如沒特殊注明(míng),文章(zhāng)均爲方維網絡原創,轉載請注明(míng)來(lái)自