Moodle
  1. Moodle
  2. MDL-41626

CAS Authentication: Error when changing language with Multi-authentication config to yes

    Details

    • Testing Instructions:
      Hide
      1. To be able to test this issue, you must first have a valid CAS Authentication server
      2. Configure Moodle to authenticate using this CAS server and set Multi-Authentication config to Yes. (Navigation : Site administration > Plugins > Authentication > CAS server (SSO))
      3. Set up your moodle to use more than one language.
      4. In the browser of your choice, go to the following page and try changing language : "/moodle/login/index.php"
        It should work now without any problems.
      Show
      To be able to test this issue, you must first have a valid CAS Authentication server Configure Moodle to authenticate using this CAS server and set Multi-Authentication config to Yes. (Navigation : Site administration > Plugins > Authentication > CAS server (SSO)) Set up your moodle to use more than one language. In the browser of your choice, go to the following page and try changing language : "/moodle/login/index.php" It should work now without any problems.
    • Affected Branches:
      MOODLE_24_STABLE, MOODLE_25_STABLE
    • Fixed Branches:
      MOODLE_24_STABLE, MOODLE_25_STABLE
    • Pull from Repository:
      git@github.com:StudiUM/moodle.git
    • Pull 2.4 Branch:
      MDL-41626-moodle24
    • Pull 2.5 Branch:
      MDL-41626-moodle25
    • Pull Master Branch:
      MDL-41626-master
    • Rank:
      52738

      Description

      It seems there's an error when changing language in the following page: "/login/index.php" caused by a wrong Url setting in the "/auth/cas/auth.php".

      To be able to get the error, you must first use CAS authentication and have set the Multi-Authentication config to Yes.

      Correction is very simple:

      --- a/auth/cas/auth.php
      +++ b/auth/cas/auth.php
      @@ -137,7 +137,7 @@ class auth_plugin_cas extends auth_plugin_ldap {
                   // test pgtIou parameter for proxy mode (https connection
                   // in background from CAS server to the php server)
                   if ($authCAS != 'CAS' && !isset($_GET['pgtIou'])) {
      -                $PAGE->set_url('/auth/cas/auth.php');
      +                $PAGE->set_url('/login/index.php');
                       $PAGE->navbar->add($CASform);
                       $PAGE->set_title("$site->fullname: $CASform");
                       $PAGE->set_heading($site->fullname);
      
      

        Activity

        Hide
        Dan Poltawski added a comment -

        Thanks Jean-Philippe, this change looks good. Sending for integration.

        Show
        Dan Poltawski added a comment - Thanks Jean-Philippe, this change looks good. Sending for integration.
        Hide
        Damyon Wiese added a comment -

        Thanks, Jean-Philippe, this actually went in yesterday and I forgot to push the button.

        Show
        Damyon Wiese added a comment - Thanks, Jean-Philippe, this actually went in yesterday and I forgot to push the button.
        Hide
        Damyon Wiese added a comment -

        Passing (and I now have a working CAS server again).

        Show
        Damyon Wiese added a comment - Passing (and I now have a working CAS server again).
        Hide
        Damyon Wiese added a comment -

        This issue along with 77 of it's friends has been sent upstream and released to the world.

        Thankyou for your contribution.

        Show
        Damyon Wiese added a comment - This issue along with 77 of it's friends has been sent upstream and released to the world. Thankyou for your contribution.

          People

          • Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: