diff --git a/CHANGELOG.md b/CHANGELOG.md index 1981867..4491c0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # simplesamlphp-module-authoauth2 Changelog - + +## v5.2.0 +_Release: 2026-02-20 +* Support php-jwt v7, which has min key length check + ## v5.0.0-beta.1 * Upgrade to min SSP 2.3 and php 8.1 * Move to controllers and routes diff --git a/composer.json b/composer.json index 64f07a5..66845c9 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "simplesamlphp/composer-module-installer": "^1.1", "league/oauth2-client": "^2.7", "simplesamlphp/simplesamlphp": "^v2.3", - "firebase/php-jwt": "^5.5|^6", + "firebase/php-jwt": "^5.5|^6|^7", "kevinrob/guzzle-cache-middleware": "^4.1.1", "psr/cache": "^1.0|^2.0|^3.0", "symfony/cache": "^7.0|^6.0|^5.0", diff --git a/tests/config/jwks-cert.pem b/tests/config/jwks-cert.pem index 1d37f73..d74f3c3 100644 --- a/tests/config/jwks-cert.pem +++ b/tests/config/jwks-cert.pem @@ -1,12 +1,9 @@ ------BEGIN CERTIFICATE----- -MIIBxTCCAW+gAwIBAgIUF6cgHno1ftvK5NSTMgKzb+N/9cUwDQYJKoZIhvcNAQEL -BQAwNzELMAkGA1UEBhMCTk8xEzARBgNVBAgMClNvbWUtU3RhdGUxEzARBgNVBAoM -ClNpbXBsZVNBTUwwHhcNMTkwODIzMTMxODAzWhcNMjkwODIwMTMxODAzWjA3MQsw -CQYDVQQGEwJOTzETMBEGA1UECAwKU29tZS1TdGF0ZTETMBEGA1UECgwKU2ltcGxl -U0FNTDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDDblC3zTyaroUJr2vVcxsXRrI4 -X1KWpOewfI8qdVCK1efXcjJO/lStq0l3rPHzX2g6VIFKS897E4thBdqbRYHPAgMB -AAGjUzBRMB0GA1UdDgQWBBSle2ndlvLV99q5YZGROsv+MEIjATAfBgNVHSMEGDAW -gBSle2ndlvLV99q5YZGROsv+MEIjATAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA0EACx6Z1TGX74wL65mvOEqz3BurPqQlPp7q4bywm3GtMZY7xU/vpyiD -ldRq83U+KnyEmQ9IrrzYXs8ReQ3GSY7q/g== ------END CERTIFICATE----- +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuNqPZm7PknzNc9V5Bywk +gJHfEZw5/D4Lb0cUaHhmH5xJipLmIegLcsIDhMqCrad81m1zQQf90HzrdpOTIeaj +xjk9cjRMJbhRYAJohj+XjMEV4uIODUU4swSnb+KRtxZe7ytZJ1QxXA4KISAvA8oz +WnJqmgkyCJhzMmGVa3bT2Sr1/c9MhOFVPN3z7ihCIIT3Wp7EVBu/wySzA7ARhte5 +MJxB5qX9loy9M+kqLZNPyLem+I1mUQDq57V/DOxQYLQnsSGEo5d2/U9D7N1mo6YO +cWjGh/iW4Ux6ZZVuNhaBkurw5I1DzRD+hREdv3SHZcyBXnfeSoZzn4jnHUeOv5JL +XwIDAQAB +-----END PUBLIC KEY----- diff --git a/tests/config/jwks-key.pem b/tests/config/jwks-key.pem index 304d6aa..2427e27 100644 --- a/tests/config/jwks-key.pem +++ b/tests/config/jwks-key.pem @@ -1,10 +1,28 @@ -----BEGIN PRIVATE KEY----- -MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAw25Qt808mq6FCa9r -1XMbF0ayOF9SlqTnsHyPKnVQitXn13IyTv5UratJd6zx819oOlSBSkvPexOLYQXa -m0WBzwIDAQABAkBwaAAXZ/3mvmCY7IQqlnVLkwcpM3KuYRU+RraV5jo4T8Nq+Nm8 -Cs9ywc3aurepFf72XySwmx6C8/8s63H0WZRhAiEA+y8Noq39K6k1N9j5tSleMH1H -5VHv1zNtbGBL3MfwJjECIQDHLZi4eskwei5Hs98njAyx3WcMnPugfo9xo/yFO54n -/wIhAMkGdWE24iFpQGA71Ez6mJkyCrIrC0otrGtJ/izqDvZhAiAXrNXQZ9fuSTej -EkBeRQllQvnyx94pD6IhUeq8M3/zJQIhAJep7ljBTshymiQleAinU/R5w2y08T63 -QtCUAe5Q1aDW +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC42o9mbs+SfM1z +1XkHLCSAkd8RnDn8PgtvRxRoeGYfnEmKkuYh6AtywgOEyoKtp3zWbXNBB/3QfOt2 +k5Mh5qPGOT1yNEwluFFgAmiGP5eMwRXi4g4NRTizBKdv4pG3Fl7vK1knVDFcDgoh +IC8DyjNacmqaCTIImHMyYZVrdtPZKvX9z0yE4VU83fPuKEIghPdansRUG7/DJLMD +sBGG17kwnEHmpf2WjL0z6Sotk0/It6b4jWZRAOrntX8M7FBgtCexIYSjl3b9T0Ps +3Wajpg5xaMaH+JbhTHpllW42FoGS6vDkjUPNEP6FER2/dIdlzIFed95KhnOfiOcd +R46/kktfAgMBAAECggEAFZWrve29fiDlipuIJM7COmMOFYvU93+1LRqzJtm8Lv+8 +VJp/lcD3KUC/UW+mH6nZeV5RYWwR9pjHk9J6kTBRulEvvBigNZ1WnyvY0ag2RYC8 +UgBMXL9S9hBajsV5d1P85Nd+cwmxM8sN4r1T0BD5uxt2GCNvvLI0bVMYs/ItnYNk +XLowf9JJNy8VY4ydLYHiWsQqGxITsReirPLlpcFf2OhQ13HmkD8rAlDGizPp30CO +bw8w7RTcU6wDHsgFDb9z4pvd7M0GnrS/KnddFbOHRg/cvK2HnQwZcPZIuC27Io6i +jniwFJSFs439nq4nbnpXEmeTUeOr5rzVfv45OxsUGQKBgQDhon0w3C0lb4kgcld4 +a2JlMLybOIpyERgnN+++pkI0j55MUgoCRGz2f1n24zQ3H1SVbEs3PZsx6WKTJj+T +oSa10M/QXCtrtkR4aW5WEQxS9DmnISOLG8O7apqx1C6LxmqMzebtvUtSRQX1AEF2 +AyJYmauyNcK7KL2BqhmD/cbfSQKBgQDRuxhk0hNo6FWxhjgqzRolN+7ghfWJeHca +Ho/hYem/5fvPWgIQSn0zw1YM515OxDxKR88sLEbhxY8xuYIj6KH7CC/U8LrcvIiz +OCWId2qDnohD5c+zUamDg/IZUQOQsaEwHZD9yV3bwENSNM+96luxe8Ozd5GQinC7 +AxZ7yLnNZwKBgQDKTIxgLVhQ8zKII9xm/CipP0wrA0Olx8vXBeDvF1POmmG8XeXZ +aI4lZ8M6hzT+oxmMKx849QRbeLvH4QgpjdgONZzNXIYVucKkDys9AWYCTjQOs7iR +daBFPexaujnNWmWXvthomUqaBYa0xrjqXR8DPyxgyLDCa2GVivP7kqIm+QKBgE2H +742dx0UZ1kvpBSx1Y7vsgGcJvmoSWV0TfTbhPksNVtghOvAQyVXwWQguI8PUcUE4 +aJK4z384zCWioURrBC5LqXr7fuiI3bP7Boz7MCn12gPXmb99ab/PcBkBxOKhd6fU +1jurTAIngfuKwF1BnKHw0bivc+VN+Dx5+L7LxjvzAoGAD3uowH+tpth9hgQ2QPDt +69VWS3eOL5YSf7kOoDqViNNfA5riNGhh7Z98jqHQa9WPvMBJkl4+6jXDFmErXZuQ +HG5vUB5Xc9eguQtT/rUjGEG0Zf1kwgXO4kWk1kCUwBHx8oBN3b/D23GDzndr7W/G +vLzWOQtm703SCCoKDUxsAQA= -----END PRIVATE KEY----- diff --git a/tests/lib/Providers/OpenIDConnectProviderTest.php b/tests/lib/Providers/OpenIDConnectProviderTest.php index 1528d8c..151ada7 100644 --- a/tests/lib/Providers/OpenIDConnectProviderTest.php +++ b/tests/lib/Providers/OpenIDConnectProviderTest.php @@ -18,11 +18,11 @@ public static function idTokenErrorDataProvider(): array // phpcs:disable return [ [ - 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im15a2V5In0.eyJzdWIiOiIxMjM0NTY3ODkwIiwiYXVkIjoiZXZpbCBjbGllbnQgaWQiLCJpYXQiOjE1MTYyMzkwMjIsImlzcyI6Im5pY2VpZHAifQ.T4JQmtmeES1r6On0KnBdJC3f7eFTPd8x_B5EM9c43RXaZHWaq_qpdcyyJzEYJ5er5YXe_hjaLmSybv0NqoVVfg', + 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im15a2V5In0.eyJzdWIiOiIxMjM0NTY3ODkwIiwiYXVkIjoiZXZpbCBjbGllbnQgaWQiLCJpYXQiOjE1MTYyMzkwMjIsImlzcyI6Im5pY2VpZHAifQ.GJaMKCvWGW3kDc_T4D2IyGclsu0OqYDUox7Xdw_7VZm3PoRrv6wvm6QyJ6PswS1Tu7sJxBfVulchaHlgWoISU_NnMX496gO6RqZ717Co8S6QNbj44NCd_eY3ql3mQfdafUFq1U9iP3D8zGPKbjRvKiZJNw2_LIk_Lo-g_5vWE6BaVHmSBxsRAS5ezcLGXl5ZmdPoW3VlY3CsACh1zjvfS4HCtFFTmsi1kr0jnDU_oNTbBJbUJpWVT2aIUa3il_2sChOqdKyoJozSYM6na8-8Sx6fYAcnWksoSi6fz4s578MsawQIwMwrsQsgyXzoXrVwxDdjyHDJ0zdoJ4Cm0Jg4jQ', "ID token has incorrect audience" ], [ - 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im15a2V5In0.eyJzdWIiOiIxMjM0NTY3ODkwIiwiYXVkIjoidGVzdCBjbGllbnQgaWQiLCJpYXQiOjE1MTYyMzkwMjIsImlzcyI6ImV2aWxpZHAifQ.NPAT8409vdVaQhh5OebxCPM6SxSNRdai3JoGo3cIabtYbjxf83jP-lj0thsbF_nD67QBCJhaz25Tjaw0anuhkw', + 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im15a2V5In0.eyJzdWIiOiIxMjM0NTY3ODkwIiwiYXVkIjoidGVzdCBjbGllbnQgaWQiLCJpYXQiOjE1MTYyMzkwMjIsImlzcyI6ImV2aWxpZHAifQ.LRYfGNzL_MHC75GPuio7Hl8hPRTWVnTtvzK2MaoVBz1EViBDO_66_Az1wppM6zK7RJLLzxFWbsrsiza9AcfKsZhstg3DBwGMCsTN4VR8Nv4vs36x1jJ42-di-nwrGHmpIjEl3sivTFux_nLiFAfSqFBQCSII9IslbdXkkgaMua3Kti_qxqx_yMhHGZxJB3ToGl8NBhFe4Bre9Dw3mPicoTAcWjys2wpOh7i5PGNyGnyDto8oJwlzHngf7sXXPEB_vDeC2HjlTHLMD-C3vXab1gQL9FVwfKuQtratioD6ZSJ4tcbhGTu_BtZvs3p2vqQKIJCCYz4MpUQr1vngKksXvA', "ID token has incorrect issuer" ], [