@@ -28,7 +28,7 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
2828 local public_keys = {
2929 keys = { " KEY_FOR_RS256" },
3030 kids = { " kid1" },
31- key_metadata = { { alg = " RS256" , use = " sig" , kty = " RSA " } }
31+ key_metadata = { { alg = " RS256" , use = " sig" } }
3232 }
3333
3434 local err = signature_validator .validate_signature_with_kid ({}, jwt , public_keys )
@@ -45,8 +45,8 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
4545 keys = { " key1" , " key2" },
4646 kids = { " kid1" , " kid2" },
4747 key_metadata = {
48- { alg = " RS256" , use = " sig" , kty = " RSA " },
49- { alg = " RS256" , use = " sig" , kty = " RSA " }
48+ { alg = " RS256" , use = " sig" },
49+ { alg = " RS256" , use = " sig" }
5050 }
5151 }
5252
@@ -65,7 +65,7 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
6565 local public_keys = {
6666 keys = { " key1" },
6767 kids = { " kid1" },
68- key_metadata = { { alg = " ES256" , use = " sig" , kty = " EC " } }
68+ key_metadata = { { alg = " ES256" , use = " sig" } }
6969 }
7070
7171 local err = signature_validator .validate_signature_with_kid ({}, jwt , public_keys )
@@ -92,7 +92,7 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
9292 assert .equals (" Unable to find public key for token kid" , err .message )
9393 end )
9494
95- it (" should reject when kid is not found in public keys" , function ()
95+ it (" should reject when kid is not found in public keys and no match by alg is found " , function ()
9696 local jwt = {
9797 header = { alg = " RS256" , kid = " kidX" },
9898 }
@@ -154,7 +154,7 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
154154 assert .equals (" Invalid token signature" , err .message )
155155 end )
156156
157- it (" should match key by kty when kid is missing (EC key) " , function ()
157+ it (" should match any key when kid is missing and no alg specified " , function ()
158158 local jwt = {
159159 header = { alg = " ES256" },
160160 verify_signature = function (self , key )
@@ -166,8 +166,8 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
166166 keys = { " RSA_KEY" , " EC_KEY" },
167167 kids = { " kid1" , " kid2" },
168168 key_metadata = {
169- { kty = " RSA " },
170- { kty = " EC " }
169+ {},
170+ {}
171171 }
172172 }
173173
@@ -188,8 +188,8 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
188188 keys = { " ENC_KEY" , " SIG_KEY" },
189189 kids = { " kid1" , " kid2" },
190190 key_metadata = {
191- { alg = " RS256" , use = " enc" , kty = " RSA " },
192- { alg = " RS256" , use = " sig" , kty = " RSA " }
191+ { alg = " RS256" , use = " enc" },
192+ { alg = " RS256" , use = " sig" }
193193 }
194194 }
195195
@@ -198,7 +198,7 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
198198 assert .is_nil (err )
199199 end )
200200
201- it (" should match when metadata has no alg but kty matches " , function ()
201+ it (" should match when metadata has no alg specified " , function ()
202202 local jwt = {
203203 header = { alg = " RS256" },
204204 verify_signature = function (self , key )
@@ -210,7 +210,7 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
210210 keys = { " RSA_KEY" },
211211 kids = { " kid1" },
212212 key_metadata = {
213- { kty = " RSA " } -- no alg specified
213+ {} -- no alg specified
214214 }
215215 }
216216
@@ -231,7 +231,7 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
231231 keys = { " KEY_FOR_RS256" },
232232 kids = { " kid1" },
233233 key_metadata = {
234- { alg = " RS256" , use = " sig" , kty = " RSA " }
234+ { alg = " RS256" , use = " sig" }
235235 }
236236 }
237237
@@ -276,25 +276,4 @@ describe("Plugin: jwt-keycloak (signature validator)", function()
276276 assert .equals (401 , err .status )
277277 assert .equals (" No public keys available" , err .message )
278278 end )
279-
280- it (" should support PS256 (RSA-PSS) algorithm matching" , function ()
281- local jwt = {
282- header = { alg = " PS256" },
283- verify_signature = function (self , key )
284- return key == " RSA_PSS_KEY"
285- end
286- }
287-
288- local public_keys = {
289- keys = { " RSA_PSS_KEY" },
290- kids = { " kid1" },
291- key_metadata = {
292- { kty = " RSA" }
293- }
294- }
295-
296- local err = signature_validator .validate_signature_with_kid ({}, jwt , public_keys )
297-
298- assert .is_nil (err )
299- end )
300279end )
0 commit comments