PHP實現QQ登入的開原理和實現過程php執行個體

來源:互聯網
上載者:User
本文主要給大家講述了PHP實現QQ登入的開原理以及相關的代碼實現過程,對此有興趣和需要的朋友參考下吧。

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

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

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

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

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

4、下載QQ互聯相關的demo http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD 我下載的是 PHP SDK v2.1

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

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

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

<?php die('forbidden'); ?>
{"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__ . '/../tools/API/qqConnectAPI.php'); //引入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壓縮輸出的方法詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.