# 插件说明
JWT校验插件不生成token,token由业务生成,插件只校验token是合法性。支持对以下算法的token进行校验:
- HS256
- HS384
- HS512
- RS256
- RS384
- RS512
- ES256
- ES256K
- ES384
- ES512
# 使用说明
当一个路由需要做JWT校验时,可在路由详情页面添加JWT插件来校验,配置如下:
# 全局配置
支持在 网关管理->扩展管理 里对插件进行全局默认密钥进行配置,自定义配置格式如下:
{
"secretKey": "123456",
"secretKey_desc": "secret key for HS256/HS384/HS512 Algorithm",
"publicKey": "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuGbXWiK3dQTyCbX5xdE4
yCuYp0AF2d15Qq1JSXT/lx8CEcXb9RbDddl8jGDv+spi5qPa8qEHiK7FwV2KpRE9
83wGPnYsAm9BxLFb4YrLYcDFOIGULuk2FtrPS512Qea1bXASuvYXEpQNpGbnTGVs
WXI9C+yjHztqyL2h8P6mlThPY9E9ue2fCqdgixfTFIF9Dm4SLHbphUS2iw7w1JgT
69s7of9+I9l5lsJ9cozf1rxrXX4V1u/SotUuNB3Fp8oB4C1fLBEhSlMcUJirz1E8
AziMCxS+VrRPDM+zfvpIJg3JljAh3PJHDiLu902v9w+Iplu1WyoB2aPfitxEhRN0
YwIDAQAB
-----END PUBLIC KEY-----",
"publicKey_desc": "public key for RS256/RS384/RS512/ES256/ES256K/ES384/ES512 Algorithm"
}
- secretKey 是HS256/HS384/HS512算法使用的密钥,如果不是这些算法可留空
- publicKey 是RS256/RS384/RS512/ES256/ES256K/ES384/ES512算法使用的公钥,如果不是这些算法可留空
- secretKey_desc 描述字段
- publicKey_desc 描述字段
路由级别的密钥配置的优先级高于全局的密钥,推荐配置全局密钥。
# 路由级别配置
密钥:如果你已经配置了全局的密钥配置可留空,如果没有配置全局的密钥则每个路由的JWT插件都需要配置密钥。当JWT使用的是HS256/HS384/HS512算法时填写生成token的密钥,当JWT使用的是RS256/RS384/RS512/ES256/ES256K/ES384/ES512算法时填写公钥(公钥用于校验token,私钥用于生成token)。
在token校验不通过时可自定义响应的报文和HTTP状态码
提取JWT Claims到上下文只用于二次开发,目前没有用到
# 调用方传参
调用方在调用接口时传Authorization请求头,格式为:Authorization=Bearer token
样例:
Authorization=Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.keH6T3x1z7mmhKL1T3r9sQdAxxdzB6siemGMr_6ZOwU
← HTTP Basic插件 appID管理 →