MDL-68860 mod_lti: Oracle support for retrieving shared secrets.
authorPaul Holden <paulh@moodle.com>
Thu, 28 May 2020 21:17:23 +0000 (22:17 +0100)
committerPaul Holden <paulh@moodle.com>
Mon, 10 Aug 2020 08:06:07 +0000 (09:06 +0100)
Thanks to Mark van Hoek!

mod/lti/locallib.php

index ff43403..a5db3ec 100644 (file)
@@ -2388,12 +2388,12 @@ function lti_get_shared_secrets_by_key($key) {
     // Look up the shared secret for the specified key in both the types_config table (for configured tools)
     // And in the lti resource table for ad-hoc tools.
     $lti13 = LTI_VERSION_1P3;
-    $query = "SELECT t2.value
+    $query = "SELECT " . $DB->sql_compare_text('t2.value', 256) . " AS value
                 FROM {lti_types_config} t1
                 JOIN {lti_types_config} t2 ON t1.typeid = t2.typeid
                 JOIN {lti_types} type ON t2.typeid = type.id
               WHERE t1.name = 'resourcekey'
-                AND t1.value = :key1
+                AND " . $DB->sql_compare_text('t1.value', 256) . " = :key1
                 AND t2.name = 'password'
                 AND type.state = :configured1
                 AND type.ltiversion <> :ltiversion