-
Type:
Bug
-
Status: Closed
-
Priority:
Minor
-
Resolution: Duplicate
-
Affects Version/s: 3.7.2
-
Fix Version/s: None
-
Component/s: Authentication
-
Labels:
-
Affected Branches:MOODLE_37_STABLE
My users reported that they cannot log in to my site (https://itc.semmelweis.hu/moodle) any more. It used to work before, and I haven't changed anything related to moodle mobile. The error is "Invalid response value detected". Following the very useful suggestions here: https://docs.moodle.org/dev/Moodle_Mobile_debugging_WS_requests I got a useful debug log.
// code placeholder
|
identityproviders => Érvénytelen válaszérték (iconurl => Érvénytelen válaszérték (Invalid external api response: the value is "https://itc.semmelweis.hu/moodle/pluginfile.php/1/auth_shibboleth/logo//seka_logo_lock.png" of PHP type "string", the server was expecting "url" type): Invalid external api response: the value is "https://itc.semmelweis.hu/moodle/pluginfile.php/1/auth_shibboleth/logo//seka_logo_lock.png" of PHP type "string", the server was expecting "url" type): iconurl => Érvénytelen válaszérték (Invalid external api response: the value is "https://itc.semmelweis.hu/moodle/pluginfile.php/1/auth_shibboleth/logo//seka_logo_lock.png" of PHP type "string", the server was expecting "url" type): Invalid external api response: the value is "https://itc.semmelweis.hu/moodle/pluginfile.php/1/auth_shibboleth/logo//seka_logo_lock.png" of PHP type "string", the server was expecting "url" type Error code: invalidresponse* line 442 of /lib/externallib.php: invalid_response_exception thrown* line 250 of /lib/externallib.php: call to external_api::clean_returnvalue()* line 59 of /lib/ajax/service.php: call to external_api::call_external_function() |
so the value of iconurl is: ...auth_shibboleth/logo//seka_logo_lock.png
My guess is the moodle system (probably auth_shibboleth) constructs the logo URL with an error (double slashes between the file path and the file name). This is a fairly common error and in most cases it is silently ignored. Actually this URL works if used in a browser. But the Moodle app thinks it is a bad URL, and prevents everyone from logging in.
In my opinion the bug is not is the Moodle app, but in the auth_shibboleth module, but the error affects mobile users very seriously, so I am reporting it here. I think even if the error is fixed in auth_shibboleth, it is a good idea to review the URL checking code in Moodle app, and relax it a bit, so this kind of error never occurs.
Workaround: deleting the logo file from auth_shibboleth|auth_logo solves the issue.