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模板引擎SMARTY
Oct 09 PHP
随机头像PHP版
Oct 09 PHP
php,不用COM,生成excel文件
Oct 09 PHP
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
php Session存储到Redis的方法
Nov 04 PHP
ThinkPHP之getField详解
Jun 20 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
Zend Studio使用技巧两则
Apr 01 PHP
详解php语言最牛掰的Laravel框架
Nov 20 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 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函数(ignore_user_abort)
2012/08/01 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
有效提高JavaScript执行效率的几点知识
2015/01/31 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
用js编写留言板
2020/03/17 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python变量和字符串详解
2017/04/29 Python
python实现日常记账本小程序
2018/03/10 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
python中round函数如何使用
2020/06/19 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
小学班主任寄语大全
2014/04/04 职场文书
《雷雨》教学反思
2016/02/20 职场文书
《所见》教学反思
2016/02/23 职场文书