MDL-62316 OAuth 2: Only guess image if base URL set.
authorLeon Stringer <leon@priorsvle.com>
Tue, 22 May 2018 16:43:05 +0000 (17:43 +0100)
committerLeon Stringer <leon@priorsvle.com>
Tue, 22 May 2018 16:43:05 +0000 (17:43 +0100)
If you added an OAuth 2 service with no base URL guess_image() would try to
parse this empty value looking for a favicon.ico.  We now check if the base
URL is empty beforehand and skip this if so.

lib/classes/oauth2/api.php

index b10af6c..72d4e97 100644 (file)
@@ -349,7 +349,7 @@ class api {
      * @param \core\oauth2\issuer $issuer The desired OAuth issuer
      */
     protected static function guess_image($issuer) {
-        if (empty($issuer->get('image'))) {
+        if (empty($issuer->get('image')) && !empty($issuer->get('baseurl'))) {
             $baseurl = parse_url($issuer->get('baseurl'));
             $imageurl = $baseurl['scheme'] . '://' . $baseurl['host'] . '/favicon.ico';
             $issuer->set('image', $imageurl);