diff --git a/mod/lti/auth.php b/mod/lti/auth.php index 0f57e6a36fc..1e597b22d7c 100644 --- a/mod/lti/auth.php +++ b/mod/lti/auth.php @@ -68,12 +68,14 @@ if ($ok && ($loginhint !== $USER->id)) { $ok = false; $error = 'access_denied'; } -if ($ok) { + +// If we're unable to load up config; we cannot trust the redirect uri for POSTing to. +if (empty($config)) { + throw new moodle_exception('invalidrequest', 'error'); +} else { $uris = array_map("trim", explode("\n", $config->lti_redirectionuris)); - $ok = in_array($redirecturi, $uris); - if (!$ok) { - $error = 'invalid_request'; - $desc = 'Unregistered redirect_uri ' . $redirecturi; + if (!in_array($redirecturi, $uris)) { + throw new moodle_exception('invalidrequest', 'error'); } } if ($ok) {