安装配置 Laravel Passport | Laravel 初始化 | 基于 Laravel + Vue 构建前后端分离应用


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

安装配置 Laravel Passport | Laravel 初始化 | 基于 Laravel + Vue 构建前后端分离应用
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 + Vue 构建前后端分离应用
课程介绍&目录索引
Laravel 初始化
3篇文章
初始化 Laravel 单页面应用
安装配置 Laravel Socialite 并实现基于 Github 的用户认证
安装配置 Laravel Passport
JavaScript 初始化
5篇文章
配置 JavaScript 和 SASS
引入 Vue 2、Vue Router 和 Vuex
通过 Vue Router 配置前端路由
实现 Laravel 后端 API 接口
通过 Axios 库构建 API 请求
Vuex & Vue Router 使用入门:表单提交
6篇文章
构建 Vuex 模块
在 Vue 组件中使用 Vuex 模块
通过 Laravel Mix 将 SASS 编译到 Vue 组件
为 Vue Router 添加页面布局
通过 Vue 组件、Vue Router、Vuex 和 Laravel 实现表单提交
通过 JavaScript 和 Laravel 验证表单请求
在地图上标记咖啡店
3篇文章
通过高德地图 Web 服务 API 对咖啡店地址进行地理编码
通过 Vue + 高德地图 JS API 在地图上标记咖啡店
在高德地图上自定义咖啡店点标记图标并显示信息窗体
添加喜欢、标签功能
5篇文章
实现 Laravel 模型类之间的多对多关联及冲泡方法前端查询 API
通过 Vue.js 实现动态表单一次提交多个咖啡店位置信息
通过 Laravel + Vue 实现喜欢/取消喜欢咖啡店功能
咖啡店标签后端 API 接口功能实现
咖啡店标签前端输入及显示功能实现
实现数据筛选功能
3篇文章
通过 Vue Mixins 在前端首页对咖啡店进行过滤筛选
使用 Vue Mixins 在高德地图上对咖啡店点标记进行筛选过滤
优化高德地图多个点标记信息窗体显示 & 引入 Google Analytics 进行单页面应用访问统计
前端用户认证
3篇文章
根据是否需要登录重新组织后端路由
通过 Vue 组件实现单页面应用无跳转登录
通过 Vuex + Vue Router 导航守卫在前端实现认证路由保护
编辑用户信息
2篇文章
实现用户个人信息编辑功能
通过 Laravel + Vue 实现文件上传功能
应用代码重构
5篇文章
功能模块重构 & CSS 整体优化:首页篇
功能模块重构 & CSS 整体优化:新增咖啡店篇
功能模块重构 & CSS 整体优化:实现编辑/删除咖啡店功能
功能模块重构 & CSS 整体优化:咖啡店详情页篇
通过 Vue Transitions 实现 Vue 组件的 CSS 动画效果 & 若干 Bug 修复
构建后台管理系统
6篇文章
实现简单的、针对咖啡店增删改查的 RBAC 权限管理功能
管理后台后端动作审核接口实现
通过 Vue Router 提供的路由元信息功能实现前端路由权限判断
管理后台前端动作审核列表页面功能实现
在管理后台添加公司、咖啡店、城市、用户、冲泡方法管理功能
通过 Laravel Mix + Vue Router 路由懒加载实现单页面应用 JS 文件按组件分割
图书
基于 Laravel + Vue 构建前后端分离应用
Laravel 初始化
安装配置 Laravel Passport
安装配置 Laravel Passport
由 学院君 创建于4年前, 最后更新于 4年前
版本号 #1
27945 views
21 likes
1 collects
早在 Laravel 5.3 中就已经引入了 Laravel Passport(详情查看相关文档),如果你还没有用过它,实在让人难以置信,通过 Laravel Passport,你可以在几分钟内搭建起一个功能完备的 OAuth 服务器,用户可以像 Github、微信、QQ、Google 那样基于你提供的 OAuth 服务登录到不同的 Web 服务。不过,我们的目标是不同设备通过同一个入口获取同一份数据,而这正是 API 驱动应用的强大之处。对所有数据库增删改查方法而言,数据结构和调用方法都是一样的,你可以从多个平台消费这些 API,例如移动端、Web 浏览器。
我们在上一篇教程中安装了 Laravel Socialite,以便用户通过社交媒体账户提供的 OAuth 服务进行登录认证,在这篇教程中,我们将通过 Laravel Passport 搭建一个自己的 OAuth 服务器,以便颁发凭证给用户,让他们可以访问自己的应用数据,比如授权登录。
第一步:安装 Passport 扩展包
关于 Passport 的安装配置,官方文档已有详尽说明,我们按照官方文档走一遍流程,在项目根目录下通过以下命令安装 Passport 扩展包:
composer require laravel/passport
该扩展包会自动发现,所以也不需要手动注册服务提供者。
第二步:运行数据库迁移
我们使用 Passport 自带的默认迁移文件:
php artisan migrate
该命令会创建 OAuth 客户端及令牌相关数据表:
第三步:通过 Artisan 命令安装 Passport
运行如下命令安装 Passport:
php artisan passport:install
该命令将会创建生成安全访问令牌(token)所需的加密键,此外,该命令还会创建「personal access」和「password grant」客户端用于生成访问令牌:
第四步:在用户模型类中使用 HasApiTokens Trait
做好以上初始化操作后,还需要在 User 模型类中使用 HasApiTokens trait,以便用户可以创建自己的 API 令牌:
第五步:在 AuthServiceProvider 中注册 Passport 路由
接下来,我们还需要在 AuthServiceProvider 中注册 Passport 路由,以便用户可以颁发/撤回访问令牌:
第六步:设置 Passport 在输入 API 请求中使用
做好以上初始化及配置工作后,还需要将 API 认证驱动设置为 Laravel Passport,这既能在用户通过 Session 登录访问 API 时派上用场,也能检查移动端请求头中的访问令牌。
打开 config/auth.php 配置文件,将:
'api' => [
'driver' => 'token',
'provider' => 'users',
],
修改为:
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
这样,我们就可以在所有 Laravel API 认证请求中使用 passport 驱动了。
第七步:从 Web 浏览器访问认证 API
在访问认证 API 之前,先要在 Http\Kernel.php 的 $middlewareGroups 属性中新增中间件 CreateFreshApiToken:
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
该中间件为认证用户创建一个新的访问令牌,当认证用户发起请求时,会在请求中附加一个 JWT 令牌并允许用户访问你的 API,关于这部分的演示我们把它放到后面 Vue 部分进行。
第八步:清理 routes/api.php 文件
该文件用于存放所有 API 路由,默认的 routes/api.php 文件内容包含路由如下:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
我们将自带路由移除,新增一个群组路由,这个路由会在后面用到:
Route::group(['prefix' => 'v1', 'middleware' => 'auth:api'], function(){
Route::get('/user', function( Request $request ){
return $request->user();
});
});
我们为路由添加了一个 prefix 属性方便我们后续管理 API 的版本,同时为群组路由设置了中间件 auth:api,意味着该群组中的所有路由都需要用户认证后才能访问。随着应用功能的丰富,以后还会在匿名方法中新增更多路由,目前只有一个 /user 路由用户显示当前登录用户信息。
这篇教程并没有完整演示基于 API 的用户认证,只是 Laravel Passport 文档的阉割版,前端对认证 API 的访问演示,将会在下一章节 JavaScript 部分进行讲述。
项目源码位于 Github 上:nonfu/roastapp。
Laravel
Passport
API
认证
Roast
路由
中间件
Auth
点赞
取消点赞
收藏
取消收藏
赞赏
分享到以下平台:
<< 上一篇:
安装配置 Laravel Socialite 并实现基于 Github 的用户认证
>> 下一篇:
配置 JavaScript 和 SASS
13 条评论
#11
学院君
评论于 2年前
回复 #10
正在删除评论...
嗯 这个不同版本确实要区分下 默认安装的肯定是最新版本
#12
ylx15003702698
评论于 1年前
正在删除评论...
支持一下 学习学习
#13
vvmars
评论于 11个月前
正在删除评论...
第二步, 找不到迁移文件, 是因为, 迁移文件在 vendor/laravel/passport/database/migrations 目录里, 所以 php artisan migrate 总是会执行依赖的迁移文件?
&lsaquo;
&rsaquo;
登录后即可添加评论
升级为学院君订阅用户(新年优惠🎁)
内容导航
第一步:安装 Passport 扩展包
第二步:运行数据库迁移
第三步:通过 Artisan 命令安装 Passport
第四步:在用户模型类中使用 HasApiTokens Trait
第五步:在 AuthServiceProvider 中注册 Passport 路由
第六步:设置 Passport 在输入 API 请求中使用
第七步:从 Web 浏览器访问认证 API
第八步:清理 routes/api.php 文件
相关推荐
安装配置 Laravel Socialite 并实现基于 Github 的用户认证
基于 Laravel + Vue 构建前后端分离应用
Laravel 初始化
实现 Laravel 后端 API 接口
基于 Laravel + Vue 构建前后端分离应用
JavaScript 初始化
通过 Vue 组件、Vue Router、Vuex 和 Laravel 实现表单提交
基于 Laravel + Vue 构建前后端分离应用
Vuex & Vue Router 使用入门:表单提交
根据是否需要登录重新组织后端路由
基于 Laravel + Vue 构建前后端分离应用
前端用户认证
通过 Vuex + Vue Router 导航守卫在前端实现认证路由保护
基于 Laravel + Vue 构建前后端分离应用
前端用户认证
回到顶部
2022 基于 Laravel 6 构建
关于学院
订阅服务
友情链接
站点地图
本站 CDN 加速服务由又拍云赞助