在閘道器開啟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