欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Laravel OAuth2 第三方登陆(包括 Laravel 中 Facades 和 Service 的简单使用)

程序员文章站 2024-02-07 19:08:16
...

前言

本来要求是使用微信进行第三方登陆,所以想着先用 github 测试成功再用微信测试,可是最近拖了好久都还没申请好微信开放平台的 AppID ,所以就只写 github 的第三方登陆吧,估计微信的实现也差不多~

##关于OAuth2

关于OAuth2的理解,推荐大家先去看一下阮一峰的文章理解OAuth 2.0,看完这个之后相信就能对 OAuth2 有了一定的了解,因为在 Laravel 里面很多东西都已经封装好了,如果只是单纯的实现功能感觉并不能学到多少东西,Laravel 使用的授权模式是授权码模式。从 Laravel 的官方文档来看,其实几行代码就能实现第三方登陆的功能,但是不一定能满足我们的项目需求。这篇文章也简单记录了博主在学着使用 Laravel 的 Facaces 和 Service 模式。

开始使用

首先去 github 上面注册一个 Application ,Personal settings->Applications->Developer applications->Register new application 填写相关信息:

然后就可以得到一个 Client ID 和 Client Secret :

在命令行中执行以下命令:

composer require laravel/socialite

然后在config/app.php文件中注册服务提供者和添加 Socialite 的 facade :

'providers' => [   //只有注册了的服务才能用    // Other service providers...    Laravel\Socialite\SocialiteServiceProvider::class,],'aliases' => [   //个人理解Facade就是将一些类的很长的路径用一个单词表示    // Other facades...    'Socialite' => Laravel\Socialite\Facades\Socialite::class,],

然后我们就要到services.php中去配置 github 的 Client ID 和 Client Secret.