[ Laravel 5.8 文档 ] 安全系列 —— API 认证

简介 默认情况下,Laravel 通过为应用中的每个用户分配一个随机的令牌这种方式提供了一个非常简单的 API 认证解决方案。在配置文件 config/auth.php 中,默认已经定义了一个 api 守卫(guard)并且对应的驱动是 token。该驱动负责检查进入应用的请求上的 API 令牌,并验证是否与分配给用户的令牌值相同(分配给用户的令牌一般存储在数据库中)。 注:尽管 La...

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

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

[ Laravel 5.8 文档 ] 安全系列 —— 登录认证

简介 注:想要快速上手?只需要在新安装的 Laravel 应用下运行 php artisan make:auth 和 php artisan migrate,这两个命令会生成用户登录注册所需要的所有东西,然后在浏览器中访问 http://your-app.test/register 即可。 Laravel 中实现登录认证非常简单。实际上,几乎所有东西 Laravel 都已经为你配置好...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 基于 CAS 实现通用的单点登录解决方案(二):CAS 客户端搭建及单点登录测试

上篇教程学院君给大家介绍了 CAS 单点登录原理以及 CAS Server 端搭建,这篇教程我们书接上篇,着手客户端测试应用搭建和完整单点登录流程演示。 客户端配置 首先我们创建两个用于单点登录测试的客户端 Web 应用 testapp 和 otherapp(如果对应应用之前已经存在,则无需重复创建),下面我们以 testapp 为例,进行初始化配置和演示,otherapp 依葫芦画瓢即...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Cookie 实现基于 Session 的单点登录

单点登录及实现思路 单点登录(Single Sign On),简称为 SSO,意思是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的其它应用系统。一般常用于同一家公司的不同子系统之间的登录认证。 单点登录有多种实现方式,这里我们只介绍两种,一种是基于 Cookie 凭证,这种方式适用于子系统之间主域名一致,因为只有这样才能让不同子系统之间共享 Cookie;另一种是通过 CA...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Laravel 内置脚手架快速实现邮箱验证功能

之前我们陆续介绍了基于 Web 路由和 API 路由的各种认证实现,在 Laravel 5.7 框架中还内置支持了邮箱验证功能,邮箱验证从一定程度上损耗了用户体验,需要用户验证注册邮箱后才能访问认证路由,但是可以有效避免垃圾用户,从长期来看对系统生态来说是利大于弊的。下面我们就 Laravel 框架内置的邮箱验证功能演示下如何使用。 路由配置 首先,在 routes/web.php 路由...

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

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

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

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

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

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