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:风雨欲来 路在何方?
Oct 09 PHP
随时给自己贴的图片加文字的php代码
Mar 08 PHP
加速XP搜索功能堪比vista
Mar 22 PHP
php xfocus防注入资料
Apr 27 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
php中socket的用法详解
Oct 24 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
PHP编译安装时常见错误解决办法
May 28 PHP
学习php设计模式 php实现命令模式(command)
Dec 08 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 20 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 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
怎样在php中使用PDF文档功能
2006/10/09 PHP
php常用表单验证类用法实例
2015/06/18 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
PDO::setAttribute讲解
2019/01/29 PHP
HTML DOM的nodeType值介绍
2011/03/31 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
jQuery操作cookie
2016/08/08 Javascript
js中new一个对象的过程
2017/02/20 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
简单的Python的curses库使用教程
2015/04/11 Python
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Python中设置变量访问权限的方法
2015/04/27 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
python使用opencv读取图片的实例
2017/08/17 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
财务会计人员岗位职责
2013/11/30 职场文书
班级入场式解说词
2014/02/01 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
三爱活动实施方案
2014/03/19 职场文书
2014全年工作总结
2014/11/27 职场文书
幽默导游词开场白
2015/05/29 职场文书
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL