Laravel で WeChat ログイン認証にミドルウェアを使用する方法
モバイル インターネットの急速な発展に伴い、サードパーティ ログインはユーザーが迅速に登録および認証できる方法になりました。ログインする。一般的な方法です。その中でも、WeChat ログインは最も人気のあるものの 1 つです。開発者にとって、自分の Web サイトやアプリケーションでの認証に WeChat ログインを使用する方法は共通のニーズです。この記事では、Laravel フレームワークのミドルウェアを使用して WeChat のログイン認証機能を実装する方法と、具体的なコード例を紹介します。
まず、Laravel フレームワークをダウンロードしてインストールする必要があります。ターミナルを開いて次のコマンドを実行します:
composer global require "laravel/installer"
次に、ターミナルでプロジェクト ディレクトリを入力し、次のコマンドを実行して新しい Laravel プロジェクトを作成します:
laravel new wechat-login
プロジェクト、私たち いくつかの必要な依存関係をインストールする必要があります。ターミナルでプロジェクト ディレクトリを入力し、次のコマンドを実行します:
cd wechat-login composer require overtrue/laravel-wechat
次に、WeChat を使用してログインできるように Laravel フレームワークを構成する必要があります。ターミナルで .env
ファイルを開き、次の内容を入力します。
WECHAT_APPID=your_app_id WECHAT_SECRET=your_app_secret WECHAT_REDIRECT_URI=http://your_callback_url
このうち、your_app_id
と your_app_secret
は置き換える必要があります。独自の WeChat を使用してプラットフォームのアプリケーション ID とキーを開きます。 your_callback_url
は、ユーザー承認後のコールバック URL であり、アプリケーションに接続する必要があります。
次に、WeChat ログイン認証ロジックを処理するミドルウェアを作成する必要があります。ターミナルで次のコマンドを実行します。
php artisan make:middleware WeChatAuthMiddleware
上記のコマンドを実行すると、Laravel は WeChatAuthMiddleware.php
ファイルを app/Http/Middleware
ディレクトリに生成します。ファイルを開き、次のコードを handle
メソッドに追加します。
<?php namespace AppHttpMiddleware; use Closure; use EasyWeChatFactory; class WeChatAuthMiddleware { public function handle($request, Closure $next) { if ($request->has('code')) { $app = Factory::officialAccount(config('wechat')); $oauth = $app->oauth; $user = $oauth->user(); // 保存用户信息或进行其他处理逻辑 } else { $app = Factory::officialAccount(config('wechat')); $oauth = $app->oauth; return $oauth->redirect(); } return $next($request); } }
上記のコードでは、EasyWeChat オープン ソース ライブラリを使用して WeChat ログイン ロジックを処理します。ミドルウェアでは、リクエストに code
パラメーターが含まれているかどうかを判断し、存在する場合はユーザーが承認されていることを意味し、このパラメーターを通じてユーザーの情報を取得できます。 code
パラメータが存在しない場合は、ユーザーが認証されていないことを意味するため、WeChat ログイン認証に進む必要があります。
次に、ミドルウェアを Laravel フレームワークに登録する必要があります。 app/Http/Kernel.php
ファイルを開き、次のコードを $routeMiddleware
配列に追加します:
'wechat.auth' => AppHttpMiddlewareWeChatAuthMiddleware::class,
次に、ルートまたはルーティングを指定する必要があります。グループ このミドルウェアを適用します。 routes/web.php
ファイルで、次のコードをルーティング クロージャに追加します。
Route::group(['middleware' => ['wechat.auth']], function () { // 添加需要微信登录授权的路由 });
これで、ミドルウェアを使用して Laravel で WeChat ログイン認証を実装する構成が完了しました。ユーザーのアクセスが WeChat ログイン認証を必要とするルートとして定義されている場合、システムは最初に WeChat ログイン認証をチェックし、ユーザーが認証されていない場合は、認証のために WeChat ログイン ページにジャンプします。認証が成功すると、定義した WeChat ログイン ページに戻ります。コールバック URL には、ユーザー情報を取得できる code
パラメータが含まれています。
上記は、Laravel で WeChat ログイン認証用のミドルウェアを使用する方法の紹介とコード例です。この記事が、開発中に発生する WeChat ログイン認証の問題の解決に役立つことを願っています。
以上がLaravelでWeChatログイン認証用のミドルウェアを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。