在 Laravel 项目中集成 Swagger 扩展包为 Laravel API 生成接口文档并对接口进行测试

除了上篇介绍的 API 文档生成器扩展包之外,我们还可以基于著名的 Swagger 在 Laravel 项目中为 API 接口生成文档。 Swagger 是一个开源的、用于简化 API 开发的工具集,这些工具集涵盖了 API 开发的整个生命周期,从设计到文档、从测试到部署。 Swagger vs OpenAPI 在介绍基于 Swagger 工具集生成 API 文档之前,我们有必要先了解下...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(九)—— API 认证实现(下)

在上篇教程中,我们介绍了如何通过 HTTP 基本认证和 JWT 认证实现 Dingo API 的认证,这篇教程,学院君将会给大家介绍如何在 Dingo API 中基于 OAuth 2.0 和自定义认证驱动实现 API 认证。 OAuth 2.0 认证 和 Laravel Passport 一样,Dingo API 的 OAuth 2.0 认证基于第三方扩展包 league/oauth2-...

[ Laravel从入门到精通 ] 测试系列 —— 通过测试驱动开发构建待办任务项目(一):后端接口和功能测试篇

本来打算写一篇通过 Laravel Dusk 测试前端 Vue 组件的教程,转念一想不如玩把大的,直接基于 Laravel + Vue 构建一个前后端分离的待办任务列表项目,然后在开发过程中通过功能测试用例测试后端 API 接口,通过浏览器测试用例测试前端 Vue 组件与后端的交互,同时引入数据库测试对增删改查进行测试,从而完成一个简单的、相对完整的测试驱动开发项目。 构建应用 创建新项...

[ Laravel 5.8 文档 ] 官方扩展包 —— API 认证解决方案:Laravel Passport

简介 Laravel 通过传统的登录表单已经让用户认证变得很简单,但是 API 认证怎么实现?API 通常使用令牌(token)进行认证并且在请求之间不维护会话(Session)状态。Laravel 官方扩展包 Laravel Passport 让 API 认证变得轻而易举,Passport 基于 Alex Bilbie 维护的 League OAuth2 server,可以在数分钟内为...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:令牌作用域详解

通过前面几篇教程,学院君给大家完整介绍了 API 认证的各种实现方式,你应该可以总结出一个规律:API 接口认证归根结底其实就是获取授权令牌,然后在请求中带上这个令牌对认证接口进行访问的过程,不同的实现方式其实就是获取令牌的方式不同而已,后面都是一样的。 除此之外,在认证过程中,有时候我们还需要对令牌的授权作用域进行限制,不是认证接口的所有返回数据都可以通过该令牌进行访问,或者不是所有接...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:隐式授权令牌

后端系统设置 隐式授权令牌和通过授权码获取令牌有点类似,不过,它不需要获取授权码,就可以将令牌返回给客户端,通常适用于同一个公司自有系统之间的认证,尤其是客户端应用不能安全存储令牌信息的时候。 要启用该授权,需要在后端系统 AuthServiceProvider 的 boot 方法中调用 enableImplicitGrant 方法: public function boot() { ...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:沙箱测试篇(私人访问令牌)

还有一种获取访问令牌的方式叫做私人访问令牌。这种授权方式比较特殊,不需要授权码,也不需要用户输入登录凭证,而是用户给自己颁发访问令牌。这种授权方式在用户测试、体验平台提供的认证 API 接口时非常方便,比如微信开放平台和支付宝开发平台都有沙箱测试模式,在这种测试模式下获取授权令牌的方式其实就是通过私人访问令牌来实现的。 下面我们就来简单演示下如何使用私人访问令牌获取令牌访问认证 API。...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:开放平台篇(客户端凭证令牌)

前面两篇教程我们陆续介绍了通过密码授权获取令牌和通过授权码获取令牌访问需要认证的 API 接口,这篇教程我们来介绍第三种通过授权获取令牌的方式 —— 客户端凭证令牌。这种授权方式不需要走典型的登录或授权重定向流程,适用于机器与机器之间的接口认证,类似我们做微信、微博、支付宝开放平台开发,需要先申请自己的应用,申请通过后,这些开放平台会给我们分配对应的 APP ID 和 APP SECRE...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:第三方应用篇(授权码获取令牌)

上一篇教程我们主要介绍了公司自有系统之间如何通过用户凭证获取授权码访问认证 API 接口,如果我们自己也是一个开放平台,需要支持第三方应用户接入获取认证信息呢?比如我们常见的第三方应用接入微信登录、微博登录、QQ 登录就是这样的例子。我们把自己的系统比作微信、微博这样的平台,支持第三方 App、网站应用的接入,这个时候如果还像上篇教程介绍的那样访问认证资源,就有安全隐患了,如果第三方应用...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:移动端应用篇(密码授权令牌)

注:虽然教程的名字叫移动应用篇,但是完全适用于同一个公司不同系统间的认证,包括不同 Web 网站间认证。 虽然我们在上一篇教程中做好了 Passport 后端初始化配置,但是注册的相关路由和初始化的数据库数据并没有用到,从这一篇教程开始,我们将基于 Passport 实现一些更复杂的 API 授权认证,会逐步用到这些路由和数据库记录。 我们在上一篇教程中已经介绍了单页面应用的 API ...