The editor once used HTML to imitate the QQ login page, but the principle of implementing QQ login in PHP is still better. Third-party login means using familiar third-party software such as QQ, WeChat, Weibo, etc. to log in to your own website. , which can eliminate the need to register an account, quickly retain users, and eliminate the relatively complicated registration process. Next, I will tell you how to use PHP to develop the QQ login function.
1. Enter the QQ Internet official website to log in (you can use your own QQ or re-register a QQ number as a separate QQ for our project for management), address: https://connect.qq.com /
2. Click "Application Management" to enter the QQ Internet Management Center, where you can create related applications, which are divided into website applications and mobile applications. Select the application you want to fill in the information (you need to wait for about 7 days for review). If you pass the review, you will get the APP ID
and APP Key. Please take a small notebook and write it down! Please take a notebook and write it down! Please take a notebook and write it down! (Say important things three times!!!)
3. Obtain the relevant interface after passing the review: get_user_info.
4. Download the demo related to QQ Internet http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD I downloaded PHP SDK v2.1
5. If we look closely at the sdk, we will find that it contains 4 folders and 2 files, the most important of which is the API folder. I think the rest can be ignored (it’s okay if you look at it), follow By following this document step by step, you can implement the login function.
6. Copy the API folder to your project. As for which folder of the project to copy to, as long as you can import it, it depends on your mood. After the preliminary preparations are done, the next step is to write the code.
7. Open the API folder you copied to the project. There is a comm folder in it. Open comm again and you will see a guy named inc.php. Open it! Fill in the APPID and APPKEY recorded above in your notebook into the relevant positions. The approximate form is like this
{"appid":"your appid","appkey":"your appkey","callback":"your website callback domain","scope":"get_user_info"}
8 , the code is as follows
<?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(); } }
At this point your entire process is complete, simple! ! ! The entire functional process is similar to the figure below:
If you encounter the following problems during the development process:
file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?
The reason for this error is very simple, the encryption module in the PHP configuration is not turned on
Solution : 1. (Windows) php.ini configuration file, locate the location shown in blue in the figure below, remove the semicolon
in front of extension=php_openssl.dll and then restart the Apache or nginx server. If you visit again, there will be no such error.
2. For PHP under Linux, you must install the openssl module. After installation, you can access it.
Related recommendations:
Sharing the pitfalls encountered in the process of accessing QQ to log in to OAuth2.0
PHP No. Three-party login QQ login video tutorial
Using the QQ login section of Moodle
The above is the detailed content of PHP implements QQ login principle and process sharing. For more information, please follow other related articles on the PHP Chinese website!