JWT权限


JWT权限

  • 需要先安装 "lazyskills/paa-thinkphp6": "dev-master",

  • paa-thinkphp6composer.json已经包含了此扩展,所以不需要另外安装

创建Jwt

这个相当简单,只需要调用\paa\common\authorize\Jwt类的encode方法

$uniqueId = "1"; # 唯一ID
$signature = "ssss"; # 签名
$token = \paa\common\authorize\Jwt::encode($uniqueId,$signature);
1
2
3

@Jwt注解扩展参数说明

引入单个参数注解器:use paa\annotation\Jwt;

@Jwt验证器的参数设置文件:

config/paa.php
1

具体设置字段jwt

默认值:

'jwt' => [
    'key' => 'PAA-ThinkPHP6', // 授权 key
    'type' => 'Bearer', // 授权类型
    'request' => 'header', // 请求方式
    'param' => 'authorization', // 授权名称
    'time' => 7200, //token有效时长
    'payload' => [
        'iss' => 'PAA-ThinkPHP6', //签发者
        'iat' => '', //什么时候签发的
        'exp' => '' , // 过期时间
        'uniqueId' => '',
        'signature' => ''
    ]
],
1
2
3
4
5
6
7
8
9
10
11
12
13
14

@Jwt注解使用案例

@Jwt 只要引用就会进行参数验证

  • 强烈推荐 !!!只要引用就会进行参数验证
  • 强烈推荐 !!!只要引用就会进行参数验证
  • 强烈推荐 !!!只要引用就会进行参数验证

例如:

控制器 app\controller\Indexindex方法

/**
 * @Route(value="index",method="GET")
 * @Jwt()
 * @Doc(value="查询所有用户",group="管理.权限",hide="false")
 */
public function index()
{
    return json([],200);
}
1
2
3
4
5
6
7
8
9
Last Updated: 1/4/2020, 11:00:12 PM

Initializing...