JWT

描述

  • 动态token校验
  • 可设置待校验的参数名称、参数位置、参数值
  • jwt生成的token一般包括用户信息

如果需要了解其他鉴权,可点击对应文档链接:

配置说明

参数名值类型是否必填值可能性默认值说明
token_namestring是参数名
positionstring是header、query、body参数位置
typestring是jwt驱动类型
configobject是jwt配置
config -> algorithmstring是HS256、HS384、HS512、ES256、ES384、ES512、RS256、RS384、RS512jwt签名算法
config -> claims_to_verify[]string是exp,nbfjwt需要进行验证的字段
config -> issstring是签发者
config -> pathstring否用户字段在payload中的路径,格式参考json path
config -> secretstring否密钥,仅在签名算法为HS256、HS384、HS512有效
config -> signature_is_base_64bool否false是否base64编码签名,仅在HS256、HS384、HS512有效
config -> rsa_public_keystring否RSA公钥,仅在算法为ES256、ES384、ES512、RS256、RS384、RS512有效
usersobject数组是用户列表
users -> expireint64是用户过期时间,时间戳格式,当值为0表示不过期
users -> patternobject是用户信息
users -> pattern -> usernamestring是用户名
users -> hide_credentialbool否false转发时是否将鉴权信息隐藏
users -> labelsobject (map[string]string)否用户标签,当jwt校验成功后,该标签会加入请求上下文中

配置示例

{
    "config": {
        "algorithm": "HS256",
        "claims_to_verify": [],
        "iss": "eolink",
        "path": "$.user",
        "secret": "apinto",
        "signature_is_base_64": false
    },
    "position": "header",
    "token_name": "authorization",
    "type": "jwt",
    "users": [
        {
            "expire": 0,
            "hide_credential": false,
            "labels": {},
            "pattern": {
                "username": "app1"
            }
        }
    ]
}

Jwt鉴权需要搭配应用使用,详情请点击应用

Jwt快速构造可参考 jwt生成工具open in new window