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来处理多个提交任务
May 08 PHP
php面向对象全攻略 (七) 继承性
Sep 30 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
php 生成短网址原理及代码
Jan 23 PHP
php实现字符串翻转的方法
Mar 27 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
thinkPHP多语言切换设置方法详解
Nov 11 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
php7函数,声明,返回值等新特性介绍
May 25 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
自己做矿石收音机
2021/03/02 无线电
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
php数值转换时间及时间转换数值用法示例
2017/05/18 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
extjs 为某个事件设置拦截器
2010/01/15 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
2016/12/30 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
房地产财务管理制度
2014/02/02 职场文书
公司晚会策划方案
2014/05/17 职场文书
党员证明信
2015/06/19 职场文书
新闻稿格式范文
2015/07/18 职场文书
组织委员竞选稿
2015/11/21 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
一行Python命令实现批量加水印
2022/04/07 Python