时间:2021-07-01 10:21:17 帮助过:6人阅读
本来要求是使用微信进行第三方登陆,所以想着先用 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.