一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

DEDECMS|帝國CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|蘋果CMS|極致CMS|CMS系統(tǒng)|

服務(wù)器之家 - 建站程序 - PHPCMS - phpcms V9實現(xiàn)QQ登陸OAuth2.0提供下載

phpcms V9實現(xiàn)QQ登陸OAuth2.0提供下載

2019-10-11 13:15phpcms教程網(wǎng) PHPCMS

phpcmsV9使用的QQ登陸依然是OAuth1.0,但現(xiàn)在騰訊已經(jīng)不審核使用OAuth1.0的網(wǎng)站了。這對于使用pc的站長來講是一個無比巨大的坑。經(jīng)過對phpcms論壇的一位同學(xué)做的插件進行修改,現(xiàn)在完美實現(xiàn)QQ登陸,暫無發(fā)現(xiàn)bug

實現(xiàn)步驟:

①打開\phpcms\modules\member\index.php文件,把下面的代碼找個地方塞進去(可以直接在pc默認的QQ登陸下面)。

 

復(fù)制代碼

代碼如下:


//QQ登陸oAuth2.0 
ublic function public_qq_login2(){ 
$appid = pc_base::load_config('system', 'qq_appid'); 
$appkey = pc_base::load_config('system', 'qq_appkey'); 
$callback = pc_base::load_config('system', 'qq_callback'); 
pc_base::load_app_class('qqOAuth2','',0); 
$info = new qqOAuth2($appid,$appkey,$callback); 
$this->_session_start(); 
if (!isset($_GET['code'])){ 
$info->redirect_to_login(); 
}else{ 
$code = $_GET['code']; 
$_SESSION['openid'] = $info->get_openid($code);//調(diào)取QQ openid值 
if(!emptyempty($_SESSION['openid'])){ 
$r = $this->db->get_one(array('connectid'=>$_SESSION['openid'],'from'=>'qq')); 
if(!emptyempty($r)){ 
//QQ已存在于數(shù)據(jù)庫,則直接轉(zhuǎn)向登陸操作 
$password = $r['password']; 
$this->_init_phpsso(); 
$synloginstr = $this->client->ps_member_synlogin($r['phpssouid']); 
$userid = $r['userid']; 
$groupid = $r['groupid']; 
$username = $r['username']; 
$nickname = emptyempty($r['nickname']) ? $username : $r['nickname']; 
$this->db->update(array('lastip'=>ip(), 'lastdate'=>SYS_TIME, 'nickname'=>$me['name']), array('userid'=>$userid)); 
if(!$cookietime) $get_cookietime = param::get_cookie('cookietime'); 
$_cookietime = $cookietime ? intval($cookietime) : ($get_cookietime ? $get_cookietime : 0); 
$cookietime = $_cookietime ? TIME + $_cookietime : 0; 
$phpcms_auth_key = md5(pc_base::load_config('system', 'auth_key').$this->http_user_agent); 
$phpcms_auth = sys_auth($userid."\t".$password, 'ENCODE', $phpcms_auth_key); 
param::set_cookie('auth', $phpcms_auth, $cookietime); 
param::set_cookie('_userid', $userid, $cookietime); 
param::set_cookie('_username', $username, $cookietime); 
param::set_cookie('_groupid', $groupid, $cookietime); 
param::set_cookie('cookietime', $_cookietime, $cookietime); 
param::set_cookie('_nickname', $nickname, $cookietime); 
$forward = isset($_GET['forward']) && !emptyempty($_GET['forward']) ? $_GET['forward'] : 'index.php?m=member&c=index'; 
showmessage(L('login_success').$synloginstr, $forward); 
}else{ 
//未存在于數(shù)據(jù)庫中,跳去完善資料頁面。頁面預(yù)置用戶名(QQ返回是UTF8編碼,如有需要進行轉(zhuǎn)碼) 
$user = $info->get_user_info(); 
$_SESSION['connectid'] = $_SESSION['openid']; 
$_SESSION['from'] = 'qq'; 
if(CHARSET != 'utf-8') {//轉(zhuǎn)編碼 
$connect_username = iconv('utf-8', CHARSET, $user['nickname']); 

include template('member', 'connect'); 



 

②把附件的qqOAuth2.class.php文件放在 \phpcms\modules\member\classes\ 文件夾里。
③在后臺找到connect設(shè)置,把QQ號碼登陸的回調(diào)地址改成http://www.ythuaji.com.cn/index.php?m=member&c=index&a=public_qq_login2 (把我的域名換成你自己的)
④填好App ID和App key,然后更新緩存。
⑤登陸phpmyadmin,找到v9_member這張表的connectid字段(或者自定義的字段),把類型改成“char(255)”,因為phpcms默認是15位的。所以我們直接徹底修改成255位,這個不管是騰訊的其它第三方網(wǎng)站帳號(例如淘寶、支付寶、百度、360等其它第三方帳號),都可以完成數(shù)據(jù)綁定。(此條添加于7月27號,由網(wǎng)友liuyang814發(fā)郵件提醒)
后期會把新浪微博及騰訊微博的代碼放上來。phpcms的周邊代碼太少了,網(wǎng)上找都找不到。

服務(wù)器之家特提供下載 qqOAuth2.rar

延伸 · 閱讀

精彩推薦
  • PHPCMSphpcms怎么上傳歌曲文件

    phpcms怎么上傳歌曲文件

    phpcms上傳歌曲文件的方法:首先依次打開“設(shè)置-站點管理-修改”;然后在附件配置的“允許上傳附件類型”中添加自己需要的類型;接著打開“添加模型...

    未知1522023-05-07
  • PHPCMSphpcms v9去除盛大連接 關(guān)閉盛大通行證的修改方法

    phpcms v9去除盛大連接 關(guān)閉盛大通行證的修改方法

    phpcms v9默認開啟了盛大連接,直接使用盛大通告證登錄網(wǎng)站,但是盛大通告證的覆蓋面有限,比不上QQ或者支付寶,甚至不如人人網(wǎng)、豆瓣之類,于是有朋...

    phpcms教程網(wǎng)5562019-10-13
  • PHPCMSphpcms的欄目緩存無限級羅列展示處理代碼(親測)

    phpcms的欄目緩存無限級羅列展示處理代碼(親測)

    本文為大家詳細介紹下phpcms的欄目緩存無限級羅列展示是怎么實現(xiàn)的,粗測試了一下,效果還不錯,有需求的朋友可以參考下哈,希望對大家有所幫助 ...

    phpcms教程網(wǎng)8642019-10-11
  • PHPCMS數(shù)據(jù)庫導(dǎo)入成功,phpcms打不開

    數(shù)據(jù)庫導(dǎo)入成功,phpcms打不開

    問:,數(shù)據(jù)庫導(dǎo)入成功,phpcms打不開 答:您好,查看此域名是解析到 云主機 上的,報錯來看應(yīng)該是您導(dǎo)入的數(shù)據(jù)庫不完整,還差session的表,請您核實 若需...

    未知1822023-05-07
  • PHPCMSphpcms V9實現(xiàn)QQ登陸OAuth2.0提供下載

    phpcms V9實現(xiàn)QQ登陸OAuth2.0提供下載

    phpcmsV9使用的QQ登陸依然是OAuth1.0,但現(xiàn)在騰訊已經(jīng)不審核使用OAuth1.0的網(wǎng)站了。這對于使用pc的站長來講是一個無比巨大的坑。經(jīng)過對phpcms論壇的一位同學(xué)做...

    phpcms教程網(wǎng)3402019-10-11
  • PHPCMSphpcms常見問題解答

    phpcms常見問題解答

    1.為什么phpcms首頁幻燈片怎么顯示不出來? 答:需要設(shè)置文章的 標(biāo)題圖片 如果設(shè)置標(biāo)題圖片,則可以在首頁以及欄目頁以圖片方式鏈接到文章。 2.自定義...

    phpcms教程網(wǎng)2712019-10-07
  • PHPCMS如何設(shè)置PhpCms廣告模塊管理 PhpCms廣告模塊管理圖文教程

    如何設(shè)置PhpCms廣告模塊管理 PhpCms廣告模塊管理圖文教程

    PhpCms廣告模塊管理圖文教程,下面給大家總結(jié)一下 ...

    PHPCMS教程網(wǎng)3782019-10-14
  • PHPCMSphpcms轉(zhuǎn)移到虛擬空間的詳細步驟

    phpcms轉(zhuǎn)移到虛擬空間的詳細步驟

    本文向大家介紹phpcms從本地轉(zhuǎn)移到虛擬空間的步驟,轉(zhuǎn)移過程需要改動一部分文件,這里提供如何改動這些文件,以保證你可以順利轉(zhuǎn)移PHPCMS ...

    phpcms教程網(wǎng)4232019-10-13
主站蜘蛛池模板: 五月天婷婷亚洲 | 国产美女亚洲精品久久久综合91 | 欧美日韩一区二区三区免费 | 久久精品热在线观看85 | 成人精品一区久久久久 | 国产精品久久久久久久久久久久 | 男男18视频免费网站 | 二次元美女扒开内裤露尿口 | 国产夜趣福利第一视频 | 齐天大性之七仙女欲春迅雷链接 | 国产麻豆流白浆在线观看 | 精品欧美一区二区三区久久久 | 国产全部视频 | 久久综合香蕉久久久久久久 | 亚洲激情久久 | 成人免费淫片95视频观看网站 | 国产高清路线一路线二2022 | 国产精品久久久久久影视 | 日韩一区二区三区在线 | 五月天婷婷精品免费视频 | 激情视频在线播放 | 暖暖在线精品日本中文 | 欧美精品v欧洲高清 | 精品国产一区二区三区久久久蜜臀 | 日本大巴车强thepro | 无遮挡激情| 给我免费的视频在线观看 | 乳 好大h| 亚洲精品国产在线 | 美女张开大腿让男人桶 | 国色天香社区在线 | 红杏网 | 国产成人综合一区人人 | 欧美18-19sex性处 | 鬼吹灯之天星术免费观看 | 狠狠的撞进去嗯啊h女强男视频 | 成人午夜视频一区二区国语 | 欧美精品亚洲精品日韩专区va | 亚洲国产欧美另类va在线观看 | 国产精品亚洲精品青青青 | 美女视频黄a |