Maison > développement back-end > tutoriel php > PHP simule la connexion autorisée de la version Web de QQ

PHP simule la connexion autorisée de la version Web de QQ

little bottle
Libérer: 2023-04-06 07:06:01
avant
5748 Les gens l'ont consulté

L'éditeur de cet article vous fera apprendre à utiliser PHP pour simuler la connexion par autorisation de la version Web de QQ. Le code est joint, qui a une certaine valeur de référence. Apprenons-le ensemble !

Première étape :

Connectez-vous d'abord à la page d'accueil Internet de QQ https://connect.qq.com/ pour une authentification personnelle/d'entreprise . Le délai d'examen est d'environ une semaine.

Créer une candidature après avoir réussi la certification :

Ici nous utilisons principalement les deux paramètres de l'application : APP ID et APP Key.

Vous devez également renseigner l'adresse de rappel, qui consiste à demander à l'interface qq de vous obtenir l'adresse de rappel du paramètre de code

Étape 2 :

Une fois le travail de préparation terminé, vous pouvez accéder à l'autorisation QQ et télécharger directement le code démo :


<?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);
Copier après la connexion

Après en obtenant les informations utilisateur, vous pouvez effectuer une série de jugements logiques. C'est aussi simple que cela.

Si vous voulez devenir un expert du secteur, vous devez étudier dur et apprendre plus de tutoriels PHP. Veuillez prêter attention aux Tutoriels vidéo PHP sur le site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal