mike / taurus-framework
本包最新版本(v1.1.7rc)无可用许可证信息。
基于REST API构建后端框架
v1.1.7rc
2018-03-18 16:09 UTC
Requires
- firebase/php-jwt: ^5.0
- robmorgan/phinx: ^0.9.1
Requires (Dev)
- phpunit/dbunit: >=1.2
- phpunit/phpunit: 5.5.*
This package is not auto-updated.
Last update: 2024-09-29 03:10:15 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
如何构建规范
待定。