首頁  >  文章  >  後端開發  >  PHP實作QQ登入的開原理與實作過程php實例

PHP實作QQ登入的開原理與實作過程php實例

jacklove
jacklove原創
2018-06-28 17:29:571458瀏覽

本文主要為大家講述了PHP實現QQ登入的開原理以及相關的程式碼實現過程,對此有興趣和需要的朋友參考下吧。

第三方登錄,就是使用大家比較熟悉的例如QQ、微信、微博等第三方軟體登入自己的網站,這可以免去註冊帳號、快速留住用戶的目的,免去了相對複雜的註冊流程。下邊就跟大家講一下怎麼使用PHP開發QQ登入的功能。

1、進入QQ互聯官網進行登入(可以使用自己的QQ或重新註冊一個QQ號作為咱們專案的單獨QQ進行管理),地址:https://connect.qq.com/

2、點選「應用程式管理」進入QQ互聯管理中心,在此進行相關應用的創建,分為網站應用 和 行動應用程式。選擇自己想要的應用程式進行資料的填寫(審核需要等待大概7天左右),審核通過你將獲得APP ID

和APP Key,請拿小本本記上!請拿小本本記上!請拿小本本記上! (重要的事情說三次!!!)

3、審核通過獲得相關介面:get_user_info。

4、下載QQ互聯相關的demo http://wiki.connect.qq.com/sdk下載 我下載的是 PHP SDK v2.1

#5、仔細觀察sdk我們會發現它包含有4個資料夾、2個文件,其中最主要的是API資料夾,其餘的我覺得都可以忽略不看(你看也沒事),按照這篇文檔一步一步往下進行,你就可以實現登入的功能。

6、將API資料夾拷貝到你的專案裡,至於拷貝到專案的哪個資料夾,只要你能引入就行,看你心情來就可以,前期準備做好,接下來就是寫程式了。

7、打開你拷貝到專案裡的API資料夾,其中有一個comm資料夾,再次打開comm你就能看到一個叫 inc.php 的傢伙,打開它!將上文記在你小本本上的APPID 和APPKEY填入相關位置,大概形式是這樣的  

2cd7d24e532a7ea5bebbfef2477d695d
{"appid":"你的appid","appkey":"你的appkey","callback":"你的網站回呼域","scope":"get_user_info"}

#8 、程式碼如下

<?php
/**
 * Created by PhpStorm.
 * User: qichao
 * Date: 2018/1/31
 * Time: 下午7:22
 */
namespace wechat\controllers;


use wechat\common\BaseController;

require(__DIR__ . &#39;/../tools/API/qqConnectAPI.php&#39;); //引入QQ互联SDK,这是按照我自己项目的路径引入的。

class QqloginController extends BaseController{
 //登录方法
 public function actionQqlogin(){
  $qc = new \QC();
  $qc->qq_login();
 }
 //这个方法是当你通过QQ登录成功以后想要跳转回来的地址,比如你想登录成功以后跳转到百度,那你把下文的$url改为百度链接即可!
 public function actionCallback(){
  header("Content-type: text/html; charset=utf-8");
    /*       这里请根据你的项目开发需求(比如获取登录用户的昵称、头像、年龄等等),进行相关代码的开发,具体数据获取方法,请查阅QQ互联文档
  $qc = new \QC();
  $access_token = $qc->qq_callback();

  $openid = $qc->get_openid();
  */
  $url = "http://wechat.xxx.cn/index.php?r=cms/home";
  header("Location:".$url);
  exit();
 }
}

至此呢你的整個流程就走完了,簡單吧! ! !整個功能流程類似下圖:

如果你在開發過程中遇到以下問題:

file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

出現這個錯誤的原因很簡單,php配置中的加密模組並沒有開啟

解決方案:1.(windows)php.ini設定文件,定位到下圖藍色所示的位置,把extension=php_openssl.dll 前面的; 分號去掉

去掉以後重新啟動Apache或nginx伺服器,再訪問,就不會有這個錯誤了。

2. linux下的PHP,就必須安裝openssl模組,安裝好了以後就可以存取了。

您可能有興趣的文章:

詳解PHP檔案的自動載入php實例

詳解PHP中mb_strpos的使用php技巧

PHP使用zlib擴充實作GZIP壓縮輸出的方法詳解

#

以上是PHP實作QQ登入的開原理與實作過程php實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn