Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-73139

IdP names are not processed through Moodle filters

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • 3.9.11, 3.10.8, 3.11.4, 4.0, 4.1.6, 4.1.16, 4.2.3, 4.3, 4.3.10, 4.4, 4.4.6, 4.5
    • MOODLE_310_STABLE, MOODLE_311_STABLE, MOODLE_39_STABLE, MOODLE_400_STABLE, MOODLE_401_STABLE, MOODLE_402_STABLE, MOODLE_403_STABLE, MOODLE_404_STABLE, MOODLE_405_STABLE
    • MDL-73139-M401
    • MDL-73139-M403
    • MDL-73139-M404
    • MDL-73139-M405
    • MDL-73139-main
    • Hide

      The following instructions use OAuth2 and Shibboleth but the issue can also be reproduced using other IdP types like SAML2.

      Set up:

      1. Log into Moodle as a site administrator.
      2. Install the French language pack from Site Administration > Language Packs
      3. Install the Multi-language Content v2 filter plugin. Don't forget to enable it in Site Administration > Plugins > Manage Filters.
      4. Enable OAuth 2 in Site Administration >Plugins > Manage Authentication
      5. Navigate to Site Administration > Server > OAuth 2 Services
      6. Click the Google button to create an OAuth 2 IdP (for simplicity).
      7. You need not configure it all as we will not be using it. We just need to configure enough fields to display the IdP's name on the login page as follows:
        • Name: {mlang en}For Students{mlang} {mlang fr}Pour étudiant(e){mlang}
          Client ID: 12345
          Client Secret: ABCDE
          Name displayed on the login page: [same value as for Name]
      8. Click the Save changes button.
      9. Enable Shibboleth in Site Administration > Plugins > Manage Authentication
      10. Click on the Settings link for Shibboleth.Specify the following fields:
        • Username: querty
        • Authentication method Name: {mlang en}For Students{mlang} {mlang fr}Pour étudiant(e){mlang}

      Tests

      1. Navigate to Site Administration > Server > OAuth 2 Services
      2. On the OAuth 2 Services page, the service Name should be For Students and the Display on login page as should also be For Students.
      3. Click the Edit icon for this service. You should now see a heading that says Edit identity issuer: For Students.
      4. Click your browser's Back button and click the Configure endpoint icon. You should see a heading that says Endpoints for issuer: For Students.
      5. Click your browser's Back button and click the Configure endpoint icon. You should see a heading that says User field mappings for issuer: For Students.
      6. Click your browser's Back button and click the Delete icon. You should now see a message saying Are you sure you want to delete the identity issuer "For Students"?
      7. Log out, and then click the Log in button. If you are viewing the login page in English, you should see a button called For Teachers next to the Google logo. You should also see a button called For Teachers but without any logo next to it (we did not configure one).

      The tests are successful if you observed the results as described above.

      Show
      The following instructions use OAuth2 and Shibboleth but the issue can also be reproduced using other IdP types like SAML2 . Set up: Log into Moodle as a site administrator. Install the French language pack from Site Administration > Language Packs Install the Multi-language Content v2 filter plugin . Don't forget to enable it in Site Administration > Plugins > Manage Filters. Enable OAuth 2 in Site Administration >Plugins > Manage Authentication Navigate to Site Administration > Server > OAuth 2 Services Click the Google button to create an OAuth 2 IdP (for simplicity). You need not configure it all as we will not be using it. We just need to configure enough fields to display the IdP's name on the login page as follows: Name : {mlang en}For Students{mlang} {mlang fr}Pour étudiant(e){mlang} Client ID : 12345 Client Secret : ABCDE Name displayed on the login page : [same value as for Name] Click the Save changes button. Enable Shibboleth in Site Administration > Plugins > Manage Authentication Click on the Settings link for Shibboleth.Specify the following fields: Username: querty Authentication method   Name : {mlang en}For Students{mlang} {mlang fr}Pour étudiant(e){mlang} Tests Navigate to Site Administration > Server > OAuth 2 Services On the  OAuth 2 Services page, the service Name should be For Students and the Display on login page as should also be For Students . Click the Edit icon for this service. You should now see a heading that says Edit identity issuer: For Students . Click your browser's Back button and click the  Configure endpoint icon. You should see a heading that says Endpoints for issuer: For Students . Click your browser's Back button and click the  Configure endpoint icon. You should see a heading that says User field mappings for issuer: For Students . Click your browser's Back button and click the  Delete icon. You should now see a message saying Are you sure you want to delete the identity issuer " For Students"? Log out, and then click the Log in button. If you are viewing the login page in English, you should see a button called For Teachers next to the Google logo. You should also see a button called  For Teachers but without any logo next to it (we did not configure one). The tests are successful if you observed the results as described above.
    • Hide

      Code verified against automated checks.

      Checked MDL-73139 using repository: https://github.com/michael-milette/moodle

      More information about this report

      Built on: Sun Jan 12 03:30:12 AM UTC 2025

      Show
      Code verified against automated checks. Checked MDL-73139 using repository: https://github.com/michael-milette/moodle MOODLE_401_STABLE (0 errors / 0 warnings) [branch: MDL-73139-M401 | CI Job ] MOODLE_403_STABLE (0 errors / 0 warnings) [branch: MDL-73139-M403 | CI Job ] MOODLE_404_STABLE (0 errors / 0 warnings) [branch: MDL-73139-M404 | CI Job ] MOODLE_405_STABLE (0 errors / 0 warnings) [branch: MDL-73139-M405 | CI Job ] main (0 errors / 0 warnings) [branch: MDL-73139-main | CI Job ] More information about this report Built on: Sun Jan 12 03:30:12 AM UTC 2025

      IdP names do not support multiple languages because they are not processed through Moodle filters. This limitation means the names are not translated, which may not be an issue for well-known providers like Facebook, LinkedIn, and Google.

      However, for some names (e.g., 'For Students' or 'For Faculty'), this lack of language support creates accessibility challenges. Users who cannot read the language in which the IdP service buttons are displayed may struggle to navigate the IdP buttons on the login page or in blocks effectively.

            michael-milette Michael Milette
            michael-milette Michael Milette
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.