mike / taurus-framework

本包最新版本(v1.1.7rc)无可用许可证信息。

基于REST API构建后端框架

v1.1.7rc 2018-03-18 16:09 UTC

README

分页

Taurus Web服务系统和路由配置的每个API默认支持分页。分页配置在应用目录的config.yml中,通常命名为yourapp.config.yml。使用分页需要设置以下三个重要配置。

身份验证

身份验证已集成到Taurus中。配置它需要以下步骤

  • 在config.yaml中配置身份验证
    • 将auth_enabled设置为true
    • 定义密码加密算法,默认HS256
    • 定义用于保护API的令牌交换方式(header或cookie)
    • 定义header或cookie中令牌的名称
    • 定义一个用于加密密码的密钥,当存储时使用
  • 创建一个实体,通常是用户,包含用户名和密码数据
    • 实体需要在将密码存储在属性上时使用PasswordHash注解
    • PasswordHash注解将确保在创建新用户时密码被加密
    • 实体必须扩展AuthenticationResource
  • 创建一个身份验证规范,用于在尝试登录时加载数据
    • 规范通常只有一个字段,即username,但可以使用任何组合
    • 规范将用于构建查询,以从数据库中加载数据,在密码使用password_hash验证之前
    • 如果规范返回多个用户,则身份验证将失败,返回401响应
  • 在config.yaml中配置身份验证
    • 将auth_enabled设置为true
    • 定义密码加密算法,默认HS256
    • 定义用于保护API的令牌交换方式(header或cookie)
    • 定义header或cookie中令牌的名称
    • 定义一个用于加密密码的密钥,当存储时使用
    • 配置之前定义的用户实体
    • 配置之前定义的用户规范
    • 配置身份验证URL(确保URL不在config.yaml中的公共资源列表中
  • 在路由配置中使用Route builder的buildAuthenticationRoute方法创建一个身份验证路由
    • 在config.yaml中的登录URL必须与路由配置中的URL完全匹配,包括前导斜杠

完成所有这些操作后,除了config中的公共资源数组以及登录URL之外的所有资源都将受到保护。通道使用JWT令牌进行保护。

过滤

Taurus允许通过编写一个规范来轻松配置API的过滤器。规范是一个类,它定义了可以过滤的字段。实际的过滤通过传递一个参数filter完成,该参数是一个字段=过滤器对的数组。

/api/user?filter[name]=test

如何构建规范

待定。