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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
php入门教程 精简版
Dec 13 PHP
php将数据库导出成excel的方法
May 07 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
php获取CSS文件中图片地址并下载到本地的方法
Dec 02 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
PHP微信刮刮卡 附微信接口
Jul 22 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
Aug 17 PHP
Laravel 连接(Join)示例
Oct 16 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
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
thinkphp文件处理类Dir.class.php的用法分析
2014/12/08 PHP
wampserver改变默认网站目录的办法
2015/08/05 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
js获取url参数的使用扩展实例
2007/12/29 Javascript
JavaScript 变量命名规则
2009/09/23 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
2016/11/03 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
Vue实现简单分页器
2018/12/29 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
python中类的一些方法分析
2014/09/25 Python
Python去除列表中重复元素的方法
2015/03/20 Python
Python用threading实现多线程详解
2017/02/03 Python
python读取和保存图片5种方法对比
2018/09/12 Python
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
长辈证婚人证婚词
2014/01/09 职场文书
贺卡寄语大全
2014/04/11 职场文书
主要领导对照检查材料
2014/08/26 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
药品开票员岗位职责
2015/04/15 职场文书
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL