LTI Authentication for D2L
This document provides instructions for how to set up your WeBWorK server as an LTI provider in D2L, which then simplifies the process of creating links to individual WeBWorK courses or assignments. As an instructor this can be performed at the course level, and will apply to all links created within the course. An administrator can do this at the system level so that it applies to all courses on the system, or all courses within an organizational unit.
This guide assumes that you will be using the email address stored in D2L (or just the first part of the email address) as the username in WeBWorK. Currently this is the only supported format when linking with D2L, as D2L does not send the user ID using the same convention as other Learning Management Systems.
In order for these instructions to work, you will need to set the following variables in authen_LTI.conf: $preferred_source_of_username = "lis_person_contact_email_primary"; $LTIBasicConsumerSecret = "[some_secret_string]";
If you prefer to use only the first part of the email address as the username in WeBWorK, then you should set: $strip_address_from_email = 1;
Setting up WeBWorK as a Tool Provider in D2L
- Navigate to the Manage External Tools page (as an instructor, this can be found as follows. Go to the Content Browser. Within a content area, click on the "Add Existing Activities" drop-down, and choose "External Learning Tools", then click on "Manage External Tools" at the bottom.
- Click on "Manage Tool Providers" at the top.
- Click on "New Tool Provider", and fill in the following values:
Launch Point | The full url of your webwork server. Typically something like https://webwork.yourschool.edu/webwork2 |
Secret | A random string that must match the variable $LTIBasicConsumerSecret set in authen_LTI.conf |
Tool consumer information | Check the box "Use custom tool consumer information instead of default" |
Key | Can be any string, but do not leave blank. |
Name | Optional |
Description | Optional |
Contact Email | Optional |
Visibility | Click "Allow users to use this tool provider" |
Security settings | Check the following:
"Send user ID to tool provider" "Send user email to tool provider" "Send system role to tool provider" |
Make tool provider available to | You can choose which courses or organizational units can use this tool. Note that courses not selected here would still be able to create WeBWorK links, but they would have to be set up manually |
Creating a link to WeBWorK from within a D2L course
- Navigate to the content area in your D2L course where you would like the link to reside.
- From the "Add Existing Activities" menu, select "External Learning Tools".
- Click "Manage External Tools"
- Click the New Link button
- Under "Title", fill in whatever text you would like to see for the link in D2L
- For URL, enter the URL to the course or the assignment, typically either https://webwork.yourschool.edu/webwork2/coursename or https://webwork.yourschool.edu/webwork2/coursename/assignmentname
- Check "Allow users to view this link"
- For Key/Secret, check "Sign messages with key/secret with", and select "Tool consumer key secret"
- For Security Settings, select "Use tool provider security settings"
Troubleshooting
Make sure that the secret set in authen_LTI.conf and in D2L are identical
Make sure that $server_root_url is properly set in site.conf. This will typically look like:
$server_root_url = "https://webwork.yourschool.edu";
Make sure that the Key is not blank. It does not matter what text you put in this field, as long as it is not empty.