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

Implement LTI 1.3 Dynamic Registration

XMLWordPrintable

    • MOODLE_310_STABLE, MOODLE_39_STABLE
    • MOODLE_310_STABLE
    • MDL-67301-dynreg-squashed
    • Hide

      In this test, we deploy an LTI 1.3 test tool using dynamic registration, activate it and then verify it does function.

      pre-requisite

      1. LTI Advantage requires your site to be reachable from the internet. If not, Install ngrok to expose your moodle setup externally. Refer here for additional guidelines
      2. Have a course with an instructor.

      Dynamic registration

      1. As site administrator, navigate to Site Admin > Plugins > Activity Modules > External Tool > Manage Tools
      2. In the box that says tool url enter: https://robotest.theedtech.dev/register
      3. Click the Add LTI Advantage button
      4. The test tool should open with a trace of the communication with Moodle, all should be green (thumbs up).
      5. Click the close button - the test app UI should disappear and the list of tools refreshing
      6. Verify the Robotest app has been added and is not yet activated
      7. Click the Activate button

      Verify dynamically installed tool is functional

      1. Enter a course as instructor
      2. Turn editing on and add activity>external tool
      3. In the drop box of tools, select Robotest
      4. Then verify Select Content is enabled, click on it
      5. Verify the tool UI opens. Select either a graded or not graded item.
      6. Verify you are returned to the external tool interface successfully
      7. Click Save and Display
      8. Verify the tool shows and no errors are reported.

      Adding legacy tools

      1. Set up another Moodle site instance (let's call this M2) that can be seen by your test server (let's call this M1). Either expose M2 via ngrok as well or set M1's wwwroot to a local URL/IP just like this M2's).
      2. Create a course with a page resource. Let's call this "LTI Page"
      3. Publish this page resource as an LTI tool.

      Via Cartridge registration (LTI 1.1)

      1. On M2's "Published tools" page, copy the Cartridge URL of LTI Page.
      2. On M1's Add tool page, paste the cartridge URL and press "Add Legacy LTI"
      3. Paste the Secret from M2's Published tools page into the Secret text box. You may leave the "Consumer key" blank.
      4. Save the changes.
      5. Confirm that "LTI Page" from M2 has now appeared under the Tools list.

      Via tool proxy registration (LTI 2.0)

      1. On the tools list in M1, delete LTI Page.
      2. On M2's Published tools page, copy LTI Page's "Registration URL"
      3. Paste the registration URL into the tool URL field in M1's Add tool page.
      4. Press "Add Legacy LTI"
      5. Confirm that you get a successful registration.
      6. Press continue
      7. Press Yes to activate the tool
      8. Confirm that LTI Page has now been added into the tools list.
      Show
      In this test, we deploy an LTI 1.3 test tool using dynamic registration, activate it and then verify it does function. pre-requisite LTI Advantage requires your site to be reachable from the internet. If not, Install ngrok to expose your moodle setup externally. Refer here for additional guidelines Have a course with an instructor. Dynamic registration As site administrator, navigate to Site Admin > Plugins > Activity Modules > External Tool > Manage Tools In the box that says tool url enter: https://robotest.theedtech.dev/register Click the Add LTI Advantage button The test tool should open with a trace of the communication with Moodle, all should be green (thumbs up). Click the close button - the test app UI should disappear and the list of tools refreshing Verify the Robotest app has been added and is not yet activated Click the Activate button Verify dynamically installed tool is functional Enter a course as instructor Turn editing on and add activity>external tool In the drop box of tools, select Robotest Then verify Select Content is enabled, click on it Verify the tool UI opens. Select either a graded or not graded item. Verify you are returned to the external tool interface successfully Click Save and Display Verify the tool shows and no errors are reported. Adding legacy tools Set up another Moodle site instance (let's call this M2) that can be seen by your test server (let's call this M1). Either expose M2 via ngrok as well or set M1's wwwroot to a local URL/IP just like this M2's). Create a course with a page resource. Let's call this " LTI Page " Publish this page resource as an LTI tool. Via Cartridge registration (LTI 1.1) On M2's " Published tools " page, copy the Cartridge URL of LTI Page. On M1's Add tool page, paste the cartridge URL and press " Add Legacy LTI " Paste the Secret from M2's Published tools page into the Secret text box. You may leave the " Consumer key " blank. Save the changes. Confirm that " LTI Page " from M2 has now appeared under the Tools list. Via tool proxy registration (LTI 2.0) On the tools list in M1, delete LTI Page. On M2's Published tools page, copy LTI Page's " Registration URL " Paste the registration URL into the tool URL field in M1's Add tool page. Press " Add Legacy LTI " Confirm that you get a successful registration. Press continue Press Yes to activate the tool Confirm that LTI Page has now been added into the tools list.

      The LTI 1.3 offers a more secure asymmetric integration compared to LTI 1.1 but, as result, makes it sensibly more difficult to configure as data needs to be exchanged both ways.

      In addition LTI 2.0 is deprecated and an integration dead-end. However it did provide a mean to autoconfigure LTI tools (paste URL and click add button).

      The aim of this ticket is to re-use that UI but change the implementation to rely on the LTI dynamic registration specification drafted by IMS but largely based on OpenID Connect Discovery and Dynamic Registration specifications.

      See https://docs.google.com/document/d/1i5Kg1GuKAPktXvA95aMJVd1Hy03_tjhOaUYjRYPlAow/edit?usp=sharing for design doc around this feature.

      Flow would resume as this:

      1. Tool provides registration URL
        1. Admin pastes the link and click Add Tool
      2. IFrame is open and set to the URL enriched with:
        1. discovery url
        2. token
      3. Tool does what it needs to do then:
        1. Calls the discovery url
        2. Calls the registration url contained in the discovery profile using token
        3. Moodle creates the new application and returns the generated client_id
      4. Tool is created Pending
        1. User clicks Activate to make it available for link creation

       

       

            claudevervoort Claude Vervoort
            claudevervoort Claude Vervoort
            Jake Dallimore Jake Dallimore
            Jun Pataleta Jun Pataleta
            Janelle Barcega Janelle Barcega
            Votes:
            2 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day, 7 hours
                1d 7h

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