QQ ログイン統合に PHP と OAuth を使用する方法
QQ ログイン統合に PHP と OAuth を使用する方法
はじめに:
ソーシャル メディアの発展に伴い、ますます多くの Web サイトやアプリケーションが、ユーザーの迅速な登録を容易にするサードパーティのログイン機能を提供し始めています。そしてログインします。中国最大のソーシャル メディア プラットフォームの 1 つである QQ は、多くの Web サイトやアプリケーションで提供されるサードパーティのログイン サービスとしても利用されています。この記事では、QQ ログイン統合に PHP と OAuth を使用する方法の手順をコード例とともに紹介します。
ステップ 1: QQ オープン プラットフォーム開発者として登録する
QQ ログインの統合を開始する前に、QQ オープン プラットフォームの開発者として登録して、開発者の関連情報とキーを取得する必要があります。具体的な手順は次のとおりです。
- QQ オープン プラットフォームの公式 Web サイト (https://open.qq.com/) にアクセスします。
- 右上隅の「アカウント管理」をクリックし、QQ アカウントでログインします。
- [アプリケーション管理]をクリックし、[アプリケーションの作成]をクリックします。
- アプリケーション名、アプリケーションの種類、アプリケーションの説明など、アプリケーションの基本情報を入力し、アプリケーションを送信します。
- レビューに合格すると、QQ ログイン統合に必要な重要な情報となるアプリ ID とアプリ キーを取得します。
ステップ 2: OAuth ライブラリをインストールして構成する
PHP には、OAuth プロトコルを実装したライブラリが多数あり、これらのライブラリを QQ ログイン統合に直接使用できます。この記事では、PHPLeague/oauth2-client を例として使用して説明します。
-
Composer を使用して OAuth ライブラリをインストールします:
composer require league/oauth2-client
ログイン後にコピー config.php ファイルを作成し、関連する構成情報を入力します:
<?php return [ 'qq' => [ 'clientId' => 'your-qq-app-id', 'clientSecret' => 'your-qq-app-key', 'redirectUri' => 'your-redirect-url' ] ];
ログイン後にコピー
ステップ 3: ログインおよびコールバック ページのコードを記述する
login.php ファイルを作成し、次のコードを記述します:
<?php require 'vendor/autoload.php'; $config = include 'config.php'; $provider = new LeagueOAuth2ClientProviderGenericProvider([ 'clientId' => $config['qq']['clientId'], 'clientSecret' => $config['qq']['clientSecret'], 'redirectUri' => $config['qq']['redirectUri'], 'urlAuthorize' => 'https://graph.qq.com/oauth2.0/authorize', 'urlAccessToken' => 'https://graph.qq.com/oauth2.0/token', 'urlResourceOwnerDetails' => 'https://graph.qq.com/oauth2.0/me', ]); $authorizationUrl = $provider->getAuthorizationUrl(); $_SESSION['oauth2state'] = $provider->getState(); header("Location: $authorizationUrl");
ログイン後にコピー-
callback.php ファイルを作成し、次のコードを記述します:
<?php session_start(); require 'vendor/autoload.php'; $config = include 'config.php'; $provider = new LeagueOAuth2ClientProviderGenericProvider([ 'clientId' => $config['qq']['clientId'], 'clientSecret' => $config['qq']['clientSecret'], 'redirectUri' => $config['qq']['redirectUri'], 'urlAuthorize' => 'https://graph.qq.com/oauth2.0/authorize', 'urlAccessToken' => 'https://graph.qq.com/oauth2.0/token', 'urlResourceOwnerDetails' => 'https://graph.qq.com/oauth2.0/me', ]); if (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) { unset($_SESSION['oauth2state']); exit('Invalid state'); } $token = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]); $ownerDetails = $provider->getResourceOwner($token); $qqId = $ownerDetails->getId(); // 将qqId保存到数据库,或进行其他操作 echo 'QQ登录成功!';
ログイン後にコピー
ステップ 4: ログイン関数をテストします
-
ログイン ページに追加 ユーザーがクリックしてログインできる QQ ログイン リンク:
<a href="login.php">使用QQ登录</a>
ログイン後にコピー - MySQL データベースを作成し、
users
という名前のテーブルを作成して保存します。ユーザーの QQ ID。 コールバック ページで、ユーザーの QQ ID をデータベースに保存します:
// 将qqId保存到数据库中 $conn = new mysqli('localhost', 'your-username', 'your-password', 'your-database'); $qqId = $ownerDetails->getId(); $sql = "INSERT INTO users (qq_id) VALUES ('$qqId')"; $conn->query($sql);
ログイン後にコピー
上記の手順により、QQ ログインの統合が正常に実装されました。ユーザーがログイン リンクをクリックすると、ページは QQ ログイン インターフェイスにジャンプします。ユーザーが認証を完了すると、指定したコールバック ページに戻り、ユーザーの QQ ID を取得してデータベースに保存できます。 。
概要:
この記事では、QQ ログイン統合に PHP と OAuth を使用する方法の手順を紹介し、コード例も示します。 QQ ログインの統合により、ユーザーの迅速な登録とログインの機能を簡単に実現し、ユーザー エクスペリエンスを向上させることができます。この記事がお役に立てば幸いです!
以上がQQ ログイン統合に PHP と OAuth を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
