Heim > Backend-Entwicklung > PHP-Tutorial > PHP simuliert die autorisierte Anmeldung der QQ-Webversion

PHP simuliert die autorisierte Anmeldung der QQ-Webversion

little bottle
Freigeben: 2023-04-06 07:06:01
nach vorne
5764 Leute haben es durchsucht

Der Herausgeber dieses Artikels zeigt Ihnen, wie Sie mit PHP die Anmeldung bei der QQ-Webversion simulieren. Der Code ist beigefügt und hat einen bestimmten Referenzwert.

Schritt eins:

Melden Sie sich zunächst auf der QQ-Internet-Homepage https://connect.qq.com/ für die persönliche/Unternehmensauthentifizierung an . Die Begutachtungszeit beträgt ca. eine Woche.

Erstellen Sie nach bestandener Zertifizierung eine Bewerbung:

Hier verwenden wir hauptsächlich die beiden Parameter der Anwendung: APP-ID und APP-Schlüssel.

Sie müssen auch die Rückrufadresse eingeben, um die QQ-Schnittstelle aufzufordern, die Rückrufadresse des Codeparameters an Sie zu erhalten

Schritt 2:

Nach Abschluss der Vorbereitungsarbeiten können Sie auf die QQ-Autorisierung zugreifen und den Democode direkt hochladen:


<?php
/**
 * Project:QQ授权登陆
 * User: luokakale
 * Date: 2019/1/25
 * Time: 14:22
 */

//应用的APPID
$app_id = "";
//应用的APPKEY
$app_secret = "";
//【成功授权】后的回调地址,即此地址在腾讯的信息中有储存
$my_url = "http://XXXXXXX/login.php";

/*
 * No1:获取Authorization Code
 */

session_start();

if(empty($code))
{
    //state参数用于防止CSRF攻击,成功授权后回调时会原样带回
    $_SESSION[&#39;qq_state&#39;] = md5(uniqid(rand(), TRUE));
    //拼接URL
    $dialog_url = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state=" . $_SESSION[&#39;qq_state&#39;];
    echo("<script> top.location.href='" . $dialog_url . "'</script>");
}

//获取qq回调时返回的code参数
$code = $_REQUEST["code"];//存放Authorization Code

/*
 * NO.2 通过Authorization Code获取Access Token
 */
if($_REQUEST['state'] == $_SESSION['qq_state'] ) {
    //拼接URL获取access_token
    $token_url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&"."client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)."&client_secret=" . $app_secret . "&code=" . $code;
    $response = file_get_contents($token_url);
}

/*
 * NO.3:获取用户openID
 */

//把传回来的数据参数变量化
$params = array();
parse_str($response, $params);
$graph_url = "https://graph.qq.com/oauth2.0/me?access_token=".$params['access_token'];
$str = file_get_contents($graph_url);
$user = json_decode($str);//存放返回的数据 client_id ,openid

/*
 * NO.4:使用access_token来获取所接受的用户信息。
 */
$user_data_url = "https://graph.qq.com/user/get_user_info?access_token={$params['access_token']}&oauth_consumer_key={$app_id}&openid={$user->openid}&format=json";
$user_data = file_get_contents($user_data_url);//此为获取到的user信息
$user_data = json_decode($user_data, true);
Nach dem Login kopieren

Nach Erhalt der Benutzerinformationen können Sie eine Reihe logischer Urteile fällen. So einfach ist das.

Wenn Sie ein Branchenexperte werden möchten, müssen Sie fleißig lernen und mehr PHP-Tutorials lernen. Bitte beachten Sie die PHP-Video-Tutorials auf der chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonPHP simuliert die autorisierte Anmeldung der QQ-Webversion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage