ThinkPHP6 サードパーティ ログイン統合: ワンクリック ログイン機能の実現
現代のインターネット アプリケーションでは、ユーザーはサードパーティ プラットフォームを通じてアプリケーションにログインできます。ユーザーの登録とログインのプロセスを容易にします。 ThinkPHP はよく知られた PHP フレームワークであり、サードパーティのログインの統合は比較的簡単です。この記事では、ThinkPHP6 フレームワークを使用してワンクリックログイン機能を実装する方法を紹介します。
まず、ターゲットのサードパーティ プラットフォームにアプリケーションを登録して、アプリケーションの AppID やアプリケーションの AppID などの必要な情報を取得する必要があります。アプリの秘密。この記事では、WeChat へのログインを例に説明します。手順は次のとおりです:
Composer を使用して ThinkPHP6 フレームワークと関連依存関係パッケージをインストールし、次のコマンドを実行します:
composer create-project topthink/think tp6
次の構成情報をプロジェクトの .env
ファイルに追加します:
# 微信登录配置 WECHAT_APPID=YOUR_WECHAT_APPID WECHAT_SECRET=YOUR_WECHAT_SECRET WECHAT_REDIRECT_URI=YOUR_REDIRECT_URI
Change YOUR_WECHAT_APPID
、YOUR_WECHAT_SECRET
と YOUR_REDIRECT_URI
を、WeChat オープン プラットフォームで取得したアプリケーション情報に置き換えます。
ThinkPHP6 では、コマンドを通じてコントローラーとルートをすばやく作成できます。次のコマンドを実行します。
php think make:controller ThirdLogin
生成されたコントローラー ファイルに、WeChat ログイン メソッドとコールバック メソッドのロジックを追加します。サンプル コードは次のとおりです:
<?php namespace appcontroller; use thinkController; use thinkacadeConfig; class ThirdLogin extends Controller { // 微信登录 public function wechatLogin() { // 构造授权请求URL $redirectUri = urlencode(Config::get('app.url') . '/thirdLogin/wechatCallback'); $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . Config::get('wechat.appid') . "&redirect_uri=" . $redirectUri . "&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"; // 跳转到微信授权页面 return redirect($url); } // 微信登录回调 public function wechatCallback() { // 获取回调时微信返回的code $code = input('get.code'); // 根据code获取access_token // ... // 根据access_token获取用户信息 // ... // 登录逻辑 // ... } }
次に、route
ディレクトリの route.php
ファイルにルーティング設定を追加する必要があります。サンプル コードは次のとおりです。
<?php use thinkacadeRoute; // 第三方登录 Route::get('login/wechat', 'ThirdLogin/wechatLogin'); Route::get('thirdLogin/wechatCallback', 'ThirdLogin/wechatCallback');
フロントエンド ページに、ボタンをクリックすると WeChat のログイン ページにジャンプする機能を追加します。サンプル コードは次のとおりです。
<button onclick="redirect()">微信登录</button> <script> function redirect() { window.location.href = '/login/wechat'; } </script>
これまでに、ThinkPHP6 フレームワークに WeChat ログインを統合するワンクリック ログイン機能が完成しました。
なお、この記事は簡単な例であり、実際の開発ではエラーコールバックやaccess_tokenやユーザー情報を取得するロジックなども必要になります。
以上がThinkPHP6 サードパーティ ログイン統合: ワンクリック ログイン機能を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。