Public bug reported: When the externallogin setting is turned on, it's impossible to fix things such as metadata URLs etc which are required for some external logins to work.
It would be good to be able to pass in a special URL parameter to make Mahara skip the external login process. Here is a patch which I can push up to gerrit once someone confirms that the proposed change is useful and that the url parameter is unique enough: diff --git a/htdocs/auth/lib.php b/htdocs/auth/lib.php index 779d080352..4baf2c7875 100644 --- a/htdocs/auth/lib.php +++ b/htdocs/auth/lib.php @@ -1171,7 +1171,7 @@ function auth_draw_login_page($message=null, Pieform $form=null) { } $externallogin = get_config('externallogin'); - if ($externallogin) { + if ($externallogin && !isset($_GET['internallogin'])) { $externallogin = preg_replace('/{shorturlencoded}/', urlencode(get_relative_script_path()), $externallogin); $externallogin = preg_replace('/{wwwroot}/', get_config('wwwroot'), $externallogin); redirect($externallogin); ** Affects: mahara Importance: Undecided Status: New ** Tags: wishlist -- You received this bug notification because you are a member of Mahara Contributors, which is subscribed to Mahara. Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it! https://bugs.launchpad.net/bugs/1771774 Title: No way to bypass externallogin Status in Mahara: New Bug description: When the externallogin setting is turned on, it's impossible to fix things such as metadata URLs etc which are required for some external logins to work. It would be good to be able to pass in a special URL parameter to make Mahara skip the external login process. Here is a patch which I can push up to gerrit once someone confirms that the proposed change is useful and that the url parameter is unique enough: diff --git a/htdocs/auth/lib.php b/htdocs/auth/lib.php index 779d080352..4baf2c7875 100644 --- a/htdocs/auth/lib.php +++ b/htdocs/auth/lib.php @@ -1171,7 +1171,7 @@ function auth_draw_login_page($message=null, Pieform $form=null) { } $externallogin = get_config('externallogin'); - if ($externallogin) { + if ($externallogin && !isset($_GET['internallogin'])) { $externallogin = preg_replace('/{shorturlencoded}/', urlencode(get_relative_script_path()), $externallogin); $externallogin = preg_replace('/{wwwroot}/', get_config('wwwroot'), $externallogin); redirect($externallogin); To manage notifications about this bug go to: https://bugs.launchpad.net/mahara/+bug/1771774/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~mahara-contributors Post to : mahara-contributors@lists.launchpad.net Unsubscribe : https://launchpad.net/~mahara-contributors More help : https://help.launchpad.net/ListHelp