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面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
PHP中用正则表达式清除字符串的空白
Jan 17 PHP
destoon实现VIP排名一直在前面排序的方法
Aug 21 PHP
php隐藏实际地址的文件下载方法
Apr 18 PHP
分享10段PHP常用代码
Nov 11 PHP
PHP使用Mysqli类库实现完美分页效果的方法
Apr 07 PHP
php实现页面纯静态的实例代码
Jun 21 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 PHP
php TP5框架生成二维码链接
Apr 01 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 高手之路(一)
2006/10/09 PHP
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
window.name代替cookie的实现代码
2010/11/28 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
Python编写一个优美的下载器
2018/04/15 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
Python中psutil的介绍与用法
2019/05/02 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
python实现飞船大战
2020/04/24 Python
HTML5进度条特效
2014/12/18 HTML / CSS
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
祝寿主持词
2015/07/02 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB
Nginx内网单机反向代理的实现
2021/11/07 Servers