Laravel5.4框架使用socialite实现github登录的方法
本文实例讲述了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' = [
// 其它服务提供者...
LaravelSocialiteSocialiteServiceProvider::class,
],
'aliases' = [
'Socialite' = LaravelSocialiteFacadesSocialite::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
AppHttpControllers创建LoginController.php
<?php
namespace AppHttpControllers;
use AppHttpControllersController;
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相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
- 来一点反射和Emit,让ORM的使用极度简化
- Java基础——集合框架
- Java基础——clone()方法浅析
- 【Python环境】matplotlib - 2D 与 3D 图的绘制
- 左求值表达式,堆栈,调试陷阱与ORM查询语言的设计
- Java基础——序列化
- 【Python环境】使用 scikit-learn 进行机器学习的简介
- Java基础——异常体系
- Java基础——数据类型之间的转换
- Java程序员面试宝典——重要习题整理
- Java8读文件方法代码学习
- .NET ORM 的 “SOD蜜”--零基础入门篇
- 【Spark研究】用Apache Spark进行大数据处理之入门介绍
- DataSet的灵活,实体类的方便,DTO的效率:SOD框架的数据容器,打造最适合DDD的ORM框架
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 使用Pandas处理杂乱数据
- 在flask中使用flask-migrate管理数据库
- 直播视频网站源码,实现移动端的按钮拖动
- 解决k8s集群环境内存不足导致容器被kill问题
- NLP之pyhanlp安装及其使用
- nginx 代理 web socket 报错“WebSocket is already in CLO
- IDEA为每个文件加入姓名,日期,版本号
- nginx 代理 web socket 报错“WebSocket is already in CLO
- 用sklearn机器学习预测泰坦尼克号生存概率
- Kaggle共享单车数据分析——数据可视化
- 掌握这些SQL面试题再也不怕面试懵逼了
- 用二叉树实现自动求导(Python版)
- 上海展盟网络科技有限公司的 gamebox 组件注入进程导致软件崩溃
- IdentityServer4 3.1.x 迁移到 4.x
- 淘宝用户行为数据分析