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

Add OAuth 2.0 Authorization Server Metadata support to issuers and create MoodleNet issuer

XMLWordPrintable

    • MOODLE_401_STABLE, MOODLE_402_STABLE
    • MOODLE_402_STABLE
    • MDL-75650-master-simple
    • Hide
      1. Set up and run the MoodleNet mock server (https://github.com/snake/moodlenet_mock) using 'moodlenet.test' as the domain
      2. Log in to Moodle as an admin
      3. Go to Admin > Security > HTTP security and clear the values for "cURL blocked hosts list " and "cURL allowed ports list" so they do not prevent us reaching the MoodleNet mock server
      4. Go to Admin > Server > OAuth 2 services
      5. You'll see a "MoodleNet' template (button) there. Click it
      6. Change the URL to "https://moodlenet.test" (so that it points to the mock running locally)
      7. Save
      8. Verify the issuer is saved successfully
      9. Verify the issuer is listed with "Discovery" ticked
      10. Click to view the issuer endpoints
      11. Verify there are some (should be 4)
      12. Now, edit the issuer again
      13. Verify you see client id and client secret populated
      Show
      Set up and run the MoodleNet mock server ( https://github.com/snake/moodlenet_mock ) using 'moodlenet.test' as the domain Log in to Moodle as an admin Go to Admin > Security > HTTP security and clear the values for "cURL blocked hosts list " and "cURL allowed ports list" so they do not prevent us reaching the MoodleNet mock server Go to Admin > Server > OAuth 2 services You'll see a "MoodleNet' template (button) there. Click it Change the URL to "https://moodlenet.test" (so that it points to the mock running locally) Save Verify the issuer is saved successfully Verify the issuer is listed with "Discovery" ticked Click to view the issuer endpoints Verify there are some (should be 4) Now, edit the issuer again Verify you see client id and client secret populated
    • 6
    • Team Hedgehog 4.1 sprint 0.4, Team Hedgehog Sprint 2.1, Team Hedgehog Sprint 2.2, Team Hedgehog 2023 Sprint 1.3

      See MDL-75648 for details about the issuer code and a description of the changes I think are needed. Essentially, MoodleNet (subsystem or otherwise) will need a way to create an issuer using metadata discovery that follows the relevant spec.

      This may also involve a tidy up of the existing code structure as per comments on MDL-75648.

      We should be able to test this is working by doing the following:
      1. Publishing an example JSON metadata file on another local Moodle site somewhere

      2. Adding the relevant issuer using the other site's base URL. It should be able to read the metadata from the /.well-known/oauth-authorization-server endpoint and create the relevant endpoints against the issuer.

      Given the issuer can only be created using dynamic registration, that should be included here too.

            jaked Jake Dallimore
            jaked Jake Dallimore
            Michael Hawkins Michael Hawkins
            Jun Pataleta Jun Pataleta
            Jun Pataleta Jun Pataleta
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 3 days
                3d
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 days, 3 hours, 11 minutes Time Not Required
                2d 3h 11m

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