Dans les applications Web modernes, il est devenu une tendance de permettre aux utilisateurs de se connecter rapidement et facilement à votre site Web à l'aide de leurs comptes de réseaux sociaux. Bien qu'il soit possible de mettre en œuvre votre propre système d'authentification, l'utilisation d'un système d'authentification tiers rend votre application plus flexible et plus facile à utiliser.
Dans cet article, nous explorerons comment implémenter la connexion tierce à l'aide de Laravel Socialite et Github. Laravel Socialite est une extension Laravel qui facilite l'intégration de l'authentification des réseaux sociaux dans votre application Laravel. Github est un service d'hébergement de référentiel Git populaire qui fournit également des services d'authentification tiers.
Avant de commencer, assurez-vous que Laravel et Composer sont installés.
Tout d'abord, nous devons installer Laravel Socialite. Exécutez la commande suivante dans le terminal :
composer require laravel/socialite
Cette commande téléchargera et installera le plugin Laravel Socialite.
Avant de nous connecter avec Github, nous devons d'abord créer une application Github afin de pouvoir utiliser le service d'authentification tiers de Github.
Visitez ce lien et connectez-vous à votre compte Github : https://github.com/settings/developers
Ensuite, cliquez sur le bouton "Nouvelle application OAuth" et remplissez le formulaire. Entrez l'URL de votre page d'accueil dans URL de la page d'accueil et l'URL de rappel dans URL de rappel d'autorisation. Le but de cette étape est de connecter votre application à Github.
Ensuite, nous devons configurer Laravel Socialite afin qu'il puisse communiquer avec l'application Github que nous venons de créer.
3.1 Ajouter un pilote Github
Ouvrez le fichier config/services.php
et ajoutez la configuration suivante : config/services.php
文件并添加以下配置:
'github' => [ 'client_id' => env('GITHUB_CLIENT_ID'), 'client_secret' => env('GITHUB_CLIENT_SECRET'), 'redirect' => 'http://your-domain.com/auth/github/callback', ],
这将创建一个名为“github”的驱动程序,并配置客户端 ID、客户端密钥和回调 URL。请替换“your-domain.com”为您的主页 URL。
3.2 更新 .env 文件
打开 .env
文件并添加以下配置:
GITHUB_CLIENT_ID=your-client-id GITHUB_CLIENT_SECRET=your-client-secret GITHUB_REDIRECT_URI=http://your-domain.com/auth/github/callback
请替换 your-client-id
,your-client-secret
和 your-domain.com
为您的 Github App 的客户端 ID、客户端密钥和主页 URL。
现在,我们可以开始实现我们的 Github 登录了。首先,我们需要创建一个 Github 登录路由:
Route::get('auth/github', '[GithubController@login'); Route::get('auth/github/callback', '[GithubController@callback']);
然后,我们需要创建 GithubController
控制器类,并在其中实现 login
和 callback
方法:
namespace AppHttpControllers; use IlluminateHttpRequest; use LaravelSocialiteFacadesSocialite; class GithubController extends Controller { public function login() { return Socialite::driver('github')->redirect(); } public function callback(Request $request) { $user = Socialite::driver('github')->user(); // do something with user data } }
在 login
方法中,我们使用 Socialite
facade 调用 driver
方法指定使用 Github 驱动程序,并使用 redirect
方法生成一个跳转到 Github 登录页面的 URL。
在 callback
方法中,我们先使用 Socialite
facade 调用 driver
方法获取 Github 用户信息,然后可以进行一些逻辑处理。例如,如果该用户是首次登录,可以将用户添加到用户表中,或者将其与已有用户进行关联。
5.测试 Github 登录
现在,我们已经完成了所有的配置和代码,可以测试我们的 Github 登录是否正常工作了。
在浏览器中输入该地址:http://your-domain.com/auth/github。这将转到 Github 登录页面。在页面上输入您的 Github 帐户信息,然后单击“登录”。如果一切正常,您将被重定向到我们在第 3 步中配置的回调 URL。
在 callback
return view('welcome');Cela créera un pilote nommé "github" et configurera l'ID client, le secret client et URL de rappel. Veuillez remplacer « votre-domaine.com » par l'URL de votre page d'accueil. 3.2 Mettre à jour le fichier .envOuvrez le fichier
.env
et ajoutez la configuration suivante : rrreee
Veuillez remplacervotre-identifiant-client
, votre- client-secret
et your-domain.com
sont l'ID client, le secret client et l'URL de la page d'accueil de votre application Github.
GithubController
et implémenter login
et callback
Méthode : 🎜rrreee🎜Dans la méthode login
, nous utilisons la façade Socialite
pour appeler la méthode driver
pour spécifier le pilote Github et utiliser La méthode redirect
génère une URL qui renvoie vers la page de connexion Github. 🎜🎜Dans la méthode callback
, nous utilisons d'abord la façade Socialite
pour appeler la méthode driver
pour obtenir les informations utilisateur de Github, puis effectuons quelques traitement logique. Par exemple, si l'utilisateur se connecte pour la première fois, vous pouvez l'ajouter à la table des utilisateurs ou l'associer à un utilisateur existant. 🎜🎜5. Testez la connexion à Github🎜🎜Maintenant que nous avons terminé toute la configuration et le code, nous pouvons tester si notre connexion à Github fonctionne correctement. 🎜🎜Entrez cette adresse dans votre navigateur : http://votre-domaine.com/auth/github. Cela vous mènera à la page de connexion de Github. Entrez les informations de votre compte Github sur la page et cliquez sur Se connecter. Si tout va bien, vous serez redirigé vers l'URL de rappel que nous avons configurée à l'étape 3. 🎜🎜Ajoutez le code suivant à la fin de la méthode callback
: 🎜rrreee🎜Cela redirigera l'utilisateur vers notre page d'accueil après une connexion réussie. 🎜🎜Vous pouvez désormais tester si votre application peut se connecter en fonction de l'authentification de l'utilisateur Github. 🎜🎜Conclusion🎜🎜Dans cet article, nous avons présenté comment implémenter l'authentification tierce à l'aide de Laravel Socialite et Github. Étant donné que les utilisateurs d'aujourd'hui aiment s'inscrire et se connecter rapidement, cette approche peut rendre votre application plus conviviale et également rendre votre application plus flexible. 🎜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!