diff --git a/composer.json b/composer.json index 804cdc3b..9efabab0 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "imsglobal/lti-1p3-tool", "type": "library", "require": { - "fproject/php-jwt": "^4.0", + "firebase/php-jwt": "^5.2", "phpseclib/phpseclib": "^2.0" }, "autoload": { diff --git a/src/lti/LTI_Message_Launch.php b/src/lti/LTI_Message_Launch.php index 5dd9b6f1..0ce94331 100644 --- a/src/lti/LTI_Message_Launch.php +++ b/src/lti/LTI_Message_Launch.php @@ -191,7 +191,11 @@ private function get_public_key() { foreach ($public_key_set['keys'] as $key) { if ($key['kid'] == $this->jwt['header']['kid']) { try { - return openssl_pkey_get_details(JWK::parseKey($key)); + return openssl_pkey_get_details( + JWK::parseKeySet([ + 'keys' => [$key] + ])[$key['kid']] + ); } catch(\Exception $e) { return false; }