Intégration de connexion tierce ThinkPHP6 : réalisez une fonction de connexion en un clic
Dans les applications Internet modernes, les utilisateurs peuvent se connecter aux applications via des plates-formes tierces, ce qui facilite grandement le processus d'inscription et de connexion de l'utilisateur. ThinkPHP est un framework PHP bien connu et l'intégration de la connexion tierce est relativement simple. Cet article explique comment utiliser le framework ThinkPHP6 pour implémenter la fonction de connexion en un clic.
Tout d'abord, nous devons enregistrer une application sur la plateforme tierce cible pour obtenir les informations nécessaires telles que l'AppID et l'AppSecret de l'application. Cet article prend comme exemple la connexion WeChat. Les étapes sont les suivantes :
Utilisez Composer pour installer le framework ThinkPHP6 et les packages de dépendances associés, exécutez la commande suivante :
composer create-project topthink/think tp6
.env dans le fichier code du projet> : <code>.env
文件中添加以下配置信息:
# 微信登录配置 WECHAT_APPID=YOUR_WECHAT_APPID WECHAT_SECRET=YOUR_WECHAT_SECRET WECHAT_REDIRECT_URI=YOUR_REDIRECT_URI
将YOUR_WECHAT_APPID
、YOUR_WECHAT_SECRET
和YOUR_REDIRECT_URI
替换为你在微信开放平台上获得的应用信息。
在ThinkPHP6中,我们可以通过命令快速创建控制器和路由。执行以下命令:
php think make:controller ThirdLogin
在生成的控制器文件中,我们添加微信登录和回调方法的逻辑。示例代码如下:
<?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');Remplacez
YOUR_WECHAT_APPID
, YOUR_WECHAT_SECRET
et YOUR_REDIRECT_URI
par les applications que vous avez obtenues sur les informations de la plateforme ouverte WeChat. Dans ThinkPHP6, nous pouvons créer rapidement des contrôleurs et des routes via des commandes. Exécutez la commande suivante :
<button onclick="redirect()">微信登录</button> <script> function redirect() { window.location.href = '/login/wechat'; } </script>
Dans le fichier de contrôleur généré, nous ajoutons la logique des méthodes de connexion et de rappel WeChat. L'exemple de code est le suivant :
rrreee Ensuite, nous devons ajouter la configuration du routage dans le fichier route.php
du répertoire route
. L'exemple de code est le suivant :
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!