zf-metal / security-jwt
为 Zend Framework 3 的 jwt 身份验证模块
Requires
- php: ^5.6 || ^7.0
- firebase/php-jwt: ^5.0
- zendframework/zend-mvc: ^3.1@dev
- zf-metal/log: ^1.0.0
- zf-metal/security: ^1.1.2
Requires (Dev)
- zendframework/zend-http: ^2.8@dev
- zendframework/zend-test: ^3.1@dev
README
Zend Framework 3 模块,允许通过 JWT 进行身份验证
依赖关系
该模块依赖于 ZfMetal\Security 和 Doctrine\ORM
身份验证
该模块包含一个允许通过 jwt 进行身份验证的路由/action
路由:/auth
方法:post
参数:'username' & 'password'
身份验证成功
状态码: 200
{ success: true, message: '身份验证成功', token: 'The_Token' }
身份验证失败(参数缺失)
状态码: 422
{ success: false, message: "缺少参数。需要 username 和 password。", }
身份验证失败(凭据无效)
状态码: 401
{ success: false, message: '无效的凭据', }
身份
可以通过 JwtDoctrineIdentity 服务获取存储在 token 中的用户。此外,还提供了一个控制器插件 getJwtIdentity()。
如果 token 中的用户已识别(\ZfMetal\Security\Entity\User)
可以通过调用以下路由/action 来查询身份
路由:/my-identity
方法:get
头部:Authorization Bearer xxTOKENxx
受保护控制器
可以通过扩展 ZfMetal\SecurityJwt\Controller\AbstractProtectedController 来保护没有 token、无效 token 或过期 token 的调用。
也可以通过使用 trait \ZfMetal\SecurityJwt\Controller\Traits\TraitProtectedController 来实现同样的保护