2018-04-24

Laravel5.6 + dingo api + jwt 完成登录 、注册

新知识点:

  • dingdo api
    • https://github.com/dingo/api/wiki/Creating-API-Endpoints
  • jwt
    • JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。因为数字签名的存在,这些信息是可信的,JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名。
  • 身份认证:
    • 传统的session认证
      • 缺点:基于session的认证使应用本身很难得到扩展,随着不同客户端用户的增加,独立的服务器已无法承载更多的用户,而这时候基于session认证应用的问题就会暴露出来
    • 基于token的鉴权机制
      - 用户使用用户名密码来请求服务器
      - 服务器进行验证用户的信息
      - 服务器通过验证发送给用户一个token
      - 客户端存储token,并在每次请求时附送上这个token值
      - 服务端验证token值,并返回数据
  • 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的使用

你可能感兴趣的:(2018-04-24)