Laravel Socialite | 官方扩展包 | Laravel 5.3 中文文档


本站和网页 https://xueyuanjun.com/post/6288.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Laravel Socialite | 官方扩展包 | Laravel 5.3 中文文档
Laravel 学院
文档
Laravel 8.x 中文文档
Laravel 7.x 中文文档
Laravel 6.x 中文文档
Laravel 5.8 中文文档
Laravel 5.7 中文文档
Laravel 5.6 中文文档
Laravel 5.5 中文文档
Laravel 5.4 中文文档
Laravel 5.3 中文文档
Laravel 5.2 中文文档
Laravel 5.1 中文文档
Lumen 中文文档
全栈教程
PHP 全栈工程师指南
PHP 入门到实战
Laravel 入门到精通
Vue.js 入门到实战
玩转 PhpStorm 教程
Laravel 博客入门项目
Laravel 微信小程序项目
Laravel 前后端分离项目
Swoole 入门到实战
Eloquent 性能优化实战
Redis 高性能实战系列
Laravel 新版本特性
PHP 新特性与最佳实践
Golang
Go 入门教程
Go Web 编程
Gin 使用教程
微服务开发
内功修炼
数据结构与算法
网络协议
微服务从入门到实践
高性能 MySQL 实战
高性能 Redis 实战
Laravel 消息队列实战
Laravel 从学徒到工匠
PHP 设计模式系列
名企面试指南
资源库
Laravel 资源大全
Laravel 开源项目
Laravel 扩展包
Laravel 资源下载
更多
博客 & 新闻
问答 & 讨论
Leetcode 题解
学院君读书笔记系列
关于 Laravel 学院
Laravel 互助学习群
Golang 互助学习群
更多
Laravel 中文文档
Laravel 全栈教程
Laravel 学习路径
Go 入门教程
程序员内功修炼
博客
问答
搜索
注册
登录
Info
Content
章节导航
Laravel 5.3 中文文档
目录索引
序言
3篇文章
发行版本说明
升级指南
贡献代码
快速入门
3篇文章
安装
配置
目录结构
开发环境
2篇文章
Laravel Homestead
Laravel Valet
核心概念
4篇文章
服务提供者
服务容器
门面(Facades)
契约(Contracts)
HTTP层
8篇文章
路由
中间件
CSRF保护
控制器
请求
响应
Session
验证
视图 & 模板
3篇文章
视图
Blade模板
本地化
JavaScript & CSS
2篇文章
起步
编译资源(Laravel Elixir)
安全系列
6篇文章
用户认证
API认证(Passport)
用户授权
密码重置
加密
哈希
综合话题
8篇文章
事件广播
缓存
错误&日志
事件
文件存储
邮件
通知
队列
数据库操作
6篇文章
起步
查询构建器
分页
迁移
填充数据
Redis
Eloquent模型
5篇文章
起步
关联关系
集合
访问器&修改器
序列化
Artisan控制台
2篇文章
控制台命令
任务调度
测试系列
4篇文章
起步
应用测试
数据库
模拟
官方扩展包
4篇文章
Laravel Cashier
Envoy Task Runner
Laravel Scout
Laravel Socialite
附录
3篇文章
集合
辅助函数
包开发
图书
Laravel 5.3 中文文档
官方扩展包
Laravel Socialite
Laravel Socialite
由 学院君 创建于6年前, 最后更新于 2年前
版本号 #2
12732 views
3 likes
0 collects
1、简介
除了传统的基于表格的登录认证,Laravel 还使用 Laravel Socialite 提供了一个优雅的流式接口,用于通过 Facebook、Twitter、Google、LinkedIn、GitHub 和 Bitbucket 实现 OAuth 认证。它几乎可以处理所有你恐惧编写的社会化登录认证代码。
我们不接受新的适配器。
社区驱动的其他平台的适配器罗列在Socialite提供者网站上。
要使用社会化登录,需要在 composer.json 文件中添加依赖:
composer require laravel/socialite
之后运行 composer update 安装依赖。
2、配置
安装完社会化登录库后,在配置文件 config/app.php 中注册 Laravel\Socialite\SocialiteServiceProvider:
'providers' => [
// 其它服务提供者...
Laravel\Socialite\SocialiteServiceProvider::class,
],
还要在 app 配置文件中添加 Socialite门面到 aliases 数组:
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
你还需要为应用使用的 OAuth 服务添加认证信息,这些认证信息位于配置文件 config/services.php,而且对应key为facebook、twitter、linkedin、google、github或bitbucket,配置哪些 key 取决于应用需要的提供者。例如:
'github' => [
'client_id' => 'your-github-app-id',
'client_secret' => 'your-github-app-secret',
'redirect' => 'http://your-callback-url',
],
3、基本使用
接下来,准备好认证用户!你需要两个路由:一个用于重定向用户到 OAuth 提供者,另一个用户获取认证后来自提供者的回调。我们使用 Socialite 门面访问 Socialite :
<?php
namespace App\Http\Controllers\Auth;
use Socialite;
class AuthController extends Controller
/**
* 将用户重定向到Github认证页面
* @return Response
*/
public function redirectToProvider()
return Socialite::driver('github')->redirect();
/**
* 从Github获取用户信息.
* @return Response
*/
public function handleProviderCallback()
$user = Socialite::driver('github')->user();
// $user->token;
redirect 方法将用户发送到 OAuth 提供者,user 方法读取请求信息并从提供者中获取用户信息,在重定向用户之前,你还可以在请求上使用 scope 方法设置”作用域”,该方法将会重写已存在的所有作用域:
return Socialite::driver('github')
->scopes(['scope1', 'scope2'])->redirect();
当然,你需要定义路由到控制器方法:
 Route::get('auth/github', 'Auth\AuthController@redirectToProvider');
 Route::get('auth/github/callback', 'Auth\AuthController@handleProviderCallback');
很多OAuth提供者在重定向请求中支持可选参数,要在请求中包含可选参数,可以通过一个关联数组调用 with 方法:
return Socialite::driver('google')
->with(['hd' => 'example.com'])->redirect();
使用 with 方法的时候,注意不要传递保留关键字作为数组的key,例如 state 或 response_type 。
获取用户信息
有了用户实例之后,就可以获取更多用户详情:
$user = Socialite::driver('github')->user();
// OAuth Two Providers
$token = $user->token;
$refreshToken = $user->refreshToken; // not always provided
$expiresIn = $user->expiresIn;
// OAuth One Providers
$token = $user->token;
$tokenSecret = $user->tokenSecret;
// All Providers
$user->getId();
$user->getNickname();
$user->getName();
$user->getEmail();
$user->getAvatar();
Laravel
文档
认证
用户
社会化登录
Socialite
OAuth
扩展包
5.3
点赞
取消点赞
收藏
取消收藏
赞赏
分享到以下平台:
<< 上一篇:
Laravel Scout
>> 下一篇:
集合
2 条评论
#1
河岸的花-
评论于 6年前
正在删除评论...
https://github.com/overtrue/socialite 传送门,安正超写的适合高墙内用户用的社会化登陆包
#2
学院君
评论于 6年前
正在删除评论...
恩 不错
登录后即可添加评论
升级为学院君订阅用户(新年优惠🎁)
内容导航
1、简介
2、配置
3、基本使用
获取用户信息
相关推荐
配置
Laravel 5.3 中文文档
快速入门
目录结构
Laravel 5.3 中文文档
快速入门
第三方登录解决方案:Laravel Socialite
Laravel 5.8 中文文档
官方扩展包
目录索引
Laravel 5.3 中文文档
第三方登录解决方案:Socialite
Laravel 7 中文文档
官方扩展包
回到顶部
2022 基于 Laravel 6 构建
关于学院
订阅服务
友情链接
站点地图
本站 CDN 加速服务由又拍云赞助