Laravel5.6 + dingo api + jwt 完成登录 、注册
新知识点:
- dingdo api
- jwt
- JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。因为数字签名的存在,这些信息是可信的,JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名。
- 身份认证:
- 传统的session认证
- 缺点:基于session的认证使应用本身很难得到扩展,随着不同客户端用户的增加,独立的服务器已无法承载更多的用户,而这时候基于session认证应用的问题就会暴露出来
- 基于token的鉴权机制
- 用户使用用户名密码来请求服务器
- 服务器进行验证用户的信息
- 服务器通过验证发送给用户一个token
- 客户端存储token,并在每次请求时附送上这个token值
- 服务端验证token值,并返回数据
- 传统的session认证
- https://segmentfault.com/a/1190000005047525
知识点回顾
-
composer 相关
- composer require dingo/api:1.0.x@dev
- 发布配置文件
- php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
- composer update
- php artisan jwt:secret
-
.env 文件配置
-
路由相关
-
数据库相关
- php artisan make:model User -m
- php artisan migrate
-
中间件相关
- 创建中间件:php artisan make:middleware CheckToken
- $middleware属性
- 全局中间件,要对所有的请求要做一些处理的时候,就适合定义在该属性内。(比如统计请求次数这些)
- 只需要将相应的中间件类添加到 app/Http/Kernel.php 的数组属性 $middleware 中即可
- $routeMiddleware属性
- 路由中间件,有些个别的请求,我们需要执行特别的中间件时,就适合定义在这属性里面。
- $middlewareGroups属性:
- 中间件组,比如我们项目有api请求和web的请求的时候,就要把两种类型的请求中间件分离开来,这时候就需要我们中间件组啦。
-
访问频率限制中间件throttle的使用
网友评论