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 相关文章推荐
example1.php
Oct 09 PHP
example2.php
Oct 09 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
php 常用算法和时间复杂度
Jul 01 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
php开发中的页面跳转方法总结
Apr 26 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 PHP
laravel请求参数校验方法
Oct 10 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
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
Laravel 5 学习笔记
2015/03/06 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
javascript数组的使用
2013/03/28 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
js密码强度校验
2015/11/10 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
Python验证文件是否可读写代码分享
2017/12/11 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
python 阶乘累加和的实例
2019/02/01 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
Python更新所有已安装包的操作
2020/02/13 Python
Python pip使用超时问题解决方案
2020/08/03 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
python 生成器需注意的小问题
2020/09/29 Python
python各种excel写入方式的速度对比
2020/11/10 Python
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
测量实习生自我鉴定
2013/09/19 职场文书
大学生军训感想
2014/02/16 职场文书
介绍信的格式
2015/01/30 职场文书
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS