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 采集程序 常用函数
Dec 18 PHP
按上下级层次关系输出内容的PHP代码
Jul 17 PHP
php定时计划任务的实现方法详解
Jun 06 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
php实现格式化多行文本为Js可用格式
Apr 15 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
PHP实现多图上传和单图上传功能
May 17 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
PHP大文件分割分片上传实现代码
Dec 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
laravel安装和配置教程
2014/10/29 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
JavaScript 继承的实现
2009/07/09 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
2020/05/29 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
深入理解Django的中间件middleware
2018/03/14 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
如何利用Python写个坦克大战
2020/11/18 Python
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
银行先进个人事迹材料
2014/05/11 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
React列表栏及购物车组件使用详解
2021/06/28 Javascript
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS