diff --git a/lib/moodlelib.php b/lib/moodlelib.php index d22c8dad008..e7b9c901f82 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -2899,7 +2899,8 @@ function require_login($courseorid = null, $autologinguest = true, $cm = null, $ // Check that the user has agreed to a site policy if there is one - do not test in case of admins. // Do not test if the script explicitly asked for skipping the site policies check. - if (!$USER->policyagreed && !is_siteadmin() && !NO_SITEPOLICY_CHECK) { + // Or if the user auth type is webservice. + if (!$USER->policyagreed && !is_siteadmin() && !NO_SITEPOLICY_CHECK && $USER->auth !== 'webservice') { $manager = new \core_privacy\local\sitepolicy\manager(); if ($policyurl = $manager->get_redirect_url(isguestuser())) { if ($preventredirect) {