在網關開啓jwt-auth插件之後,你的網關就具有了jwt解析和校驗的功能,主要是校驗jwt token的有效性,包含過期時間和簽名等。
支持的簽名算法
- "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