Laravel5.4框架使用socialite实现github登录的方法


Posted in PHP onMarch 20, 2019

本文实例讲述了Laravel5.4框架使用socialite实现github登录的方法。分享给大家供大家参考,具体如下:

1.安装laravel5.4

composer create-project laravel/laravel zcms 5.4

2.安装Socialite

composer require laravel/socialite

3.配置

编辑config/app.php

'providers' => [
  // 其它服务提供者...
  Laravel\Socialite\SocialiteServiceProvider::class,
],
'aliases' => [
  'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]

编辑config/service.php

'github' => [
  'client_id' => env('GITHUB_CLIENT_ID'),
  'client_secret' => env('GITHUB_CLIENT_SECRET'),
  'redirect' => env('GITHUB_REDIRECT'),
],

4.申请github oauth apps

①.登录github->settings->OAuth Apps
②.填写Homepage URL(网站域名http://www.zcms.site),Authorization callback URL(回调路径http://www.zcms.site/github/login
③.复制client_id,client_secret到.env文件

GITHUB_CLIENT_ID=211a7aa4b9c5a3a4c10c
GITHUB_CLIENT_SECRET=2d3174561e440ed887a604f571aff9fa5bd84e44
GITHUB_REDIRECT=http://www.zcms.site/github/login

5.使用

①.添加路由

Route::get('/login', 'LoginController@github');
Route::get('/github.login', 'LoginController@githubLogin'); //这里为刚才的回调路径

②.创建Controller

App\Http\Controllers创建LoginController.php

<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Socialite;
class LoginController extends Controller
{
  public function github()
  {
    return Socialite::driver('github')->redirect();
  }
  public function githubLogin()
  {
    $user = Socialite::driver('github')->user();
    dd($user);
  }
}

6.见证奇迹吧

访问www.zcms.site/login。竟然跳转到了github,确认之后返回www.zcms.site/github/login?code=乱七八糟

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
针对初学PHP者的疑难问答(2)
Oct 09 PHP
PHP程序61条面向对象分析设计的经验小结
Nov 12 PHP
php Smarty模板生成html文档的方法
Apr 12 PHP
解析php通过cookies获取远程网页的指定代码
Jun 25 PHP
php curl选项列表(超详细)
Jul 01 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
php结合web uploader插件实现分片上传文件
May 10 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
PHP7中I/O模型内核剖析详解
Apr 14 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 PHP
PHP工厂模式的日常使用
Mar 20 #PHP
PHP函数积累总结
Mar 19 #PHP
PHP与Perl之间知识点区别整理
Mar 19 #PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 #PHP
PHP5中使用mysqli的prepare操作数据库的介绍
Mar 18 #PHP
php+ajax 文件上传代码实例
Mar 18 #PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 #PHP
You might like
PHP 实用代码收集
2010/01/22 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
js实现文字截断功能
2016/09/14 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
python文件与目录操作实例详解
2016/02/22 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
python3.6实现学生信息管理系统
2019/02/21 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
基于python监控程序是否关闭
2020/01/14 Python
tensorflow 实现自定义梯度反向传播代码
2020/02/10 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
学习十八大精神心得体会
2013/12/31 职场文书
四年级科学教学反思
2014/02/10 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
小学安全教育主题班会
2015/08/12 职场文书
2015年度女工工作总结
2015/10/22 职场文书
python中print格式化输出的问题
2021/04/16 Python
介绍一下28个JS常用数组方法
2022/05/06 Javascript