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 相关文章推荐
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
php过滤XSS攻击的函数
Nov 12 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 PHP
php筛选不存在的图片资源
Apr 28 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 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
destoon找回管理员密码的方法
2014/06/21 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
Smarty模板语法详解
2019/07/20 PHP
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
python如何实现递归转非递归
2021/02/25 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
HTML5进度条特效
2014/12/18 HTML / CSS
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
linux下进程间通信的方式
2014/12/23 面试题
客户表扬信范文
2014/01/10 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
go goth封装第三方认证库示例详解
2022/08/14 Golang