在网关开启jwt-auth插件之后,你的网关就具有了jwt解析和校验的功能,主要是校验jwt token的有效性,包含过期时间和签名等。
- https://apisix.apache.org/docs/apisix/plugins/jwt-auth/
支持的签名算法
- "HS256"
- "HS512"
- "RS256"
- "ES256"
如果使用非对称算法rs256和es256时,需要配置公钥信息。
相关配置
{
"algorithm": "RS256",
"exp": 86400,
"key": "配置对应的jwt中key对应的值",
"private_key": "私钥事实上可以不设置,但本插件设置为必选了",
"public_key": "-----BEGIN PUBLIC KEY-----\n你的公钥\n-----END PUBLIC KEY-----"
}
参数key是必选的,要求你在你网站生成的jwt中,添加这个key,这个是自定义的,表示用户唯一标识,你可以定义成sub,如下图是对jwt的解析
开启流程
- 在添加路由时,先选择这个jwt-auth插件,并开启它,不需要任务配置内容
- 在消费者中,添加一个消费者,配置上面的信息,一般来说,一种jwt认证服务,一个消费者即可
相关源码
- https://github.com/apache/apisix
- plugins/plugins/jwt-auth.lua