LMS Integration#
Canvas#
The setup for the Canvas LMS.
Configure the JupyterHub as a Developer Key#
To install the JupyterHub as an External Tool admin users need to create a
Developer Key
. (More detailed instructions and screenshots on how to access this section are provided in the link above).Once the Developer Key configuration is open, select the
Enter URL
method within theConfigure
→Method
dropdown. This allows admin users to add the JupyterHub configuration by referring to a JupyterHub endpoint that renders the LTI 1.3 configuration in JSON. By default, the configuration URL is structured with thehttps://<my-hub.domain.com>/hub/lti13/config
format.Add the
Redirect URIs
. By default, the redirect URI is equivalent to the callback URL. As such the default URL for the Redirect URIs field should behttps://<my-hub.domain.com>/hub/lti13/oauth_callback
.Add a
Key Name
to identify theDeveloper Key
.(Optional) Enter owner’s email and
Developer Key
notes.Save the
Developer Key
settings by clicking on theSave
button.
Enable the Developer Key and copy Client ID#
You should now see the new
Developer Key
in theAdmin
→Developer Keys
→Accounts
tab. By default, theDeveloper Key
is disabled. Enable the JupyterHub installation by clicking on the On/Off toggle in theState
column to switch it toON
.Copy the value that represents the
Client ID
in theDatails
column. This value should look something like125900000000000318
. You will need to enter this value in the JupyterHub config.
Install the JupyterHub as an External Tool in your Canvas Course#
Navigate to the course where you would like to enable the JupyterHub.
Click on the course’s
Settings
link.Click on the
Apps
tab and then onView App Configurations
.Click on the
+App
button to add a new application. SelectBy Client ID
from theConfiguration Type
dropdown and paste theClient ID
value that you copied from theDeveloper Keys
→<Your Developer Key Name>
→Details
column.Save the application.
Once the application is saved you will see the option to launch the JupyterHub from the Course navigation menu. You will also have the option to add Assignments
as an External Tool
.
Privacy Settings:
The LTI 1.3 External Tool application in Canvas may be configured with privacy enabled. The user ID in these cases will fetch the value from the LTI 1.3 subject (sub
claim) which is a unique and opaque identifier for the student.
Create a new assignment as an External Tool#
Navigate to
Assignments
→Add Assignment
For
Submission Type
, selectExternal Tool
IMPORTANT: Click on the
Find
button and search for the external tool by the name that you added in the step above. Selecting the external tool will prepopulate the URL field with the correct launch URL. Using theFind
button to search for your external tool is necessary to ensure that theclient_id
is referenced correctly.(Recommended) Check the
Launch in a new tab
checkbox.Append any custom parameters you wish (see next step)
Note
If you are creating assignments via the Canvas API, you need to use these undocumented external tool fields when creating the assignment.
Custom Parameters: With Canvas users have the option to set custom fields with the Launch Request URL. Also, LTI variable substitution is available.