ホームページ バックエンド開発 PHPチュートリアル PHP と OAuth: WeChat ログイン統合の実装

PHP と OAuth: WeChat ログイン統合の実装

Jul 28, 2023 pm 06:53 PM
php oauth WeChatログイン

PHP と OAuth: WeChat ログイン統合の実装

はじめに:
ソーシャル メディアの人気に伴い、多くの Web サイトはユーザー登録とログイン プロセスを簡素化し、ユーザー エクスペリエンスを向上させるためにサードパーティのログイン機能を統合しています。 。中国最大のソーシャル プラットフォームの 1 つである WeChat のログイン統合は、多くの Web サイトの重要な機能にもなっています。この記事では、PHP と OAuth を使用して WeChat ログイン統合を実装する方法を紹介し、対応するコード例を示します。

1. OAuth の概要:
OAuth は、サードパーティ アプリケーションが別のサービス プロバイダーに保存されているユーザーのリソースにアクセスすることを承認するために使用されるオープン スタンダードです。ユーザーのユーザー名とパスワードをサードパーティのアプリケーションに提供することなく、トークンを介して承認されたアクセスを実現します。

2. 準備:
始める前に、WeChat オープン プラットフォームのアカウントを取得し、アプリケーションを作成する必要があります。アプリケーションを作成するときは、AppID (アプリケーション ID)、AppSecret (アプリケーション キー)、コールバック URL (認証コードの受け入れに使用される URL アドレス) という重要な情報に注意する必要があります。さらに、次の操作を容易にするために、PHP プロジェクトに OAuth クラス ライブラリをインストールする必要もあります。

3. コードの記述:

  1. OAuth クラス ライブラリの導入
    まず、OAuth クラス ライブラリを導入する必要があります。プロジェクトの依存関係管理に Composer を使用する場合は、次の方法で OAuth クラス ライブラリをインストールして導入できます。

    composer require league/oauth2-client
    ログイン後にコピー

同時に、OAuth クラス ライブラリをファイル:

require_once 'vendor/autoload.php';
ログイン後にコピー
  1. OAuth クライアントの作成
    OAuth プロセスに従って、OAuth クライアントを作成し、対応する認可構成を設定する必要があります。コード例は次のとおりです。

    $provider = new LeagueOAuth2ClientProviderGenericProvider([
     'clientId'                => 'YOUR_CLIENT_ID',           // 您的AppID
     'clientSecret'            => 'YOUR_CLIENT_SECRET',       // 您的AppSecret
     'redirectUri'             => 'YOUR_REDIRECT_URL',        // 您的回调URL
     'urlAuthorize'            => 'https://open.weixin.qq.com/connect/qrconnect',
     'urlAccessToken'          => 'https://api.weixin.qq.com/sns/oauth2/access_token',
     'urlResourceOwnerDetails' => 'https://api.weixin.qq.com/sns/userinfo'
    ]);
    ログイン後にコピー
  2. 認証リンクの取得
    次に、ユーザー認証リンクを取得し、ユーザーをリンクにリダイレクトする必要があります。コード例は次のとおりです。

    $authorizationUrl = $provider->getAuthorizationUrl([
     'scope' => 'snsapi_login',    // 授权作用域,此处为登录
    ]);
    ログイン後にコピー

ユーザーをリダイレクトします:

header("Location: {$authorizationUrl}");
exit;
ログイン後にコピー
  1. アクセス トークンを取得します
    ユーザーがログインした後、 WeChat プラットフォームで認証すると、認証コードが返されます。認可コードを使用してアクセス トークン (access_token) を取得する必要があります。コード例は次のとおりです。

    $accessToken = $provider->getAccessToken('authorization_code', [
     'code' => $_GET['code']      // 授权码
    ]);
    ログイン後にコピー
  2. ユーザー情報の取得
    最後に、アクセス トークンを使用してユーザー情報を取得できます。コード例は次のとおりです:

    $user = $provider->getResourceOwner($accessToken);
    ログイン後にコピー

これで、ユーザーの一意の WeChat ID、ニックネーム、アバター、その他の情報を取得できます:

$openid = $user->getId();
$nickname = $user->getName();
$avatar = $user->getAvatar();
ログイン後にコピー

4. 概要:
合格 PHP と OAuth を使用すると、WeChat ログイン統合を簡単に実装できます。この記事では、OAuth の基本原理を紹介し、WeChat ログイン機能を迅速に実装するのに役立つコード例を示します。同時に、プロジェクトの特定の要件を満たすために、特定のニーズに応じてコードを拡張および調整することもできます。

参考資料:

  1. OAuth 公式 Web サイト: https://oauth.net/
  2. OAuth PHP クラス ライブラリ: https://oauth.thephpleague.com /

コード例は、League OAuth2 クライアント ライブラリの公式ドキュメントを参照しています。

以上がPHP と OAuth: WeChat ログイン統合の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

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

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

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

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

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

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

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

See all articles