spec/util_jwt_spec.lua
changeset 12740 ad4ab01f9b11
parent 12708 31a2bd84191d
equal deleted inserted replaced
12739:445f7bd6ffc4 12740:ad4ab01f9b11
    78 				{ test_keys.alt_ecdsa_private_pem, test_keys.alt_ecdsa_public_pem };
    78 				{ test_keys.alt_ecdsa_private_pem, test_keys.alt_ecdsa_public_pem };
    79 			};
    79 			};
    80 			{
    80 			{
    81 				name = "jwt.io reference";
    81 				name = "jwt.io reference";
    82 				[[eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.tyh-VfuzIxCyGYDlkBA7DfyjrqmSHu6pQ2hoZuFqUSLPNY2N0mpHb3nk5K17HWP_3cYHBw7AhHale5wky6-sVA]];
    82 				[[eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.tyh-VfuzIxCyGYDlkBA7DfyjrqmSHu6pQ2hoZuFqUSLPNY2N0mpHb3nk5K17HWP_3cYHBw7AhHale5wky6-sVA]];
       
    83 				{     -- payload
       
    84 					sub = "1234567890";
       
    85 					name = "John Doe";
       
    86 					admin = true;
       
    87 					iat = 1516239022;
       
    88 				};
       
    89 			};
       
    90 		};
       
    91 		{
       
    92 			algorithm = "ES512";
       
    93 			keys = {
       
    94 				{ test_keys.ecdsa_521_private_pem, test_keys.ecdsa_521_public_pem };
       
    95 				{ test_keys.alt_ecdsa_521_private_pem, test_keys.alt_ecdsa_521_public_pem };
       
    96 			};
       
    97 			{
       
    98 				name = "jwt.io reference";
       
    99 				[[eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.AbVUinMiT3J_03je8WTOIl-VdggzvoFgnOsdouAs-DLOtQzau9valrq-S6pETyi9Q18HH-EuwX49Q7m3KC0GuNBJAc9Tksulgsdq8GqwIqZqDKmG7hNmDzaQG1Dpdezn2qzv-otf3ZZe-qNOXUMRImGekfQFIuH_MjD2e8RZyww6lbZk]];
    83 				{     -- payload
   100 				{     -- payload
    84 					sub = "1234567890";
   101 					sub = "1234567890";
    85 					name = "John Doe";
   102 					name = "John Doe";
    86 					admin = true;
   103 					admin = true;
    87 					iat = 1516239022;
   104 					iat = 1516239022;
   195 		local keypairs = algorithm_tests.keys;
   212 		local keypairs = algorithm_tests.keys;
   196 
   213 
   197 		untested_algorithms:remove(algorithm);
   214 		untested_algorithms:remove(algorithm);
   198 
   215 
   199 		describe(algorithm, function ()
   216 		describe(algorithm, function ()
   200 			it("can do basic sign and verify", function ()
   217 			describe("can do basic sign and verify", function ()
   201 				for _, keypair in ipairs(keypairs) do
   218 				for keypair_n, keypair in ipairs(keypairs) do
   202 					local signing_key, verifying_key = keypair[1], keypair[2];
   219 					local signing_key, verifying_key = keypair[1], keypair[2];
   203 					do_sign_verify_test(algorithm, signing_key, verifying_key, true);
   220 					it(("(test key pair %d)"):format(keypair_n), function ()
       
   221 						do_sign_verify_test(algorithm, signing_key, verifying_key, true);
       
   222 					end);
   204 				end
   223 				end
   205 			end);
   224 			end);
   206 
   225 
   207 			if #keypairs >= 2 then
   226 			if #keypairs >= 2 then
   208 				it("rejects invalid tokens", function ()
   227 				it("rejects invalid tokens", function ()