Canvas LTI Integration
    • 11 Sep 2024
    • 8 Minutes to read

    Canvas LTI Integration


    Article summary

    To communicate with the Canvas LMS using the LTI 1.3 specification an API Consumer will need to be configured with standard settings. This article will help you configure the values necessary to enable Skillable to provide LTI 1.3 Tool services.

    Canvas Permissions

    To create an LTI Key, the Developer Keys - Manage and LTI - add/edit/delete permissions are required.  Contact your Canvas adminsitrator to configure the LTI Developer Key permissions if required.

    Best Practices for Integrating with Canvas

    The Learning Tools Interoperability (LTI) 1.3 specification allow Learning Management Systems (LMS) or platforms to integrate remote tools and content in a standard way. Follow the step-by-step instructions in this guide to integrate the Canvas LMS with Skillable using LTI 1.3.

    Obtain LTI 1.3 Credentials

    Prior to beginning the Canvas LTI 1.3 configuration and integration you will need to request some information by opening a support request  with our customer support team. In the support details be sure to request the following information.

    Skillable Field Name

    Canvas Field Name

    Field Value

    LTI 1.3 Login / Connect Url

    OpenID Connect Initiation Url

    https://lod-lti-apilabondemand.com/ltiv13/connect/{API Consumer ID}

    LTI 1.3 JWKS Url

    Public JWK URL

    https://lod-lti-api.labondemand.com/ltiv13/config/jwks/{API Consumer ID}

    The following fields are required to configure different aspects of the Canvas LTI 1.3 setup.  Copy the field value to Notepad or another text editor for quick reference

    Skillable Field Name

    Canvas Field Name

    Field Value

    LTI 1.3 Launch Url

    Redirect URI
    and
    Target Link URI

    https://lod-lti-api.labondemand.com/ltiv13/launch

    LTI 1.3 DeepLink Url

    (Assignment) Target Link URI

    https://lod-lti-api.labondemand.com/ltiv13/link

    LTI 1.3 Icon URL

    Icon Url

    https://www.labondemand.com/images/favicon.ico

    API Consumer Required

    To complete an LTI 1.3 integration you must be a current client of Skillable with an API Consumer configured for your organization.

    Skillable may require your Customer or Organization ID, Canvas Instance URL, Platform name or other information. It is always recommended to provide as much information as possible with any support request.

    Enable LTI 1.3 support in Canvas

    To enable support for LTI 1.3 within Canvas you will need to create a LTI 1.3 Development Key.  The following section will guide you through this process.

    Creating a LTI 1.3 Development Key

    In order to take advantage of the LTI 1.3 specification a LTI 1.3 Developer Key will have to be configured within Canvas. This section will guide you through the steps necessary to complete the setup of this Development Key.

    1. Log in to the Canvas LMS as an administrator.

    2. Select the Admin option [1] from the left menu, then select the account the LTI Developer Key will be registered with [2].

      Canvas Select Admin Account

    3. To access the Developer Keys select Developer Keys from the list of options on the left.

      Canvas Developer Keys

    4. To add a new LTI Developer Key, from the top right of the list, select + Developer Key button [1], then select + LTI Key option [2].

      Canvas LTI Developer Key

    5. To provide identifying information enter the following values for the LTI settings:

      Field

      Value

      Key Name

      {A Unique Name}

      Owner Email

      {A valid email address}

      Redirect URIs

      https://lod-lti-api.labondemand.com/ltiv13/launch

      Notes

      {OPTIONAL}

    6. Configure the Developer Key using one of the Methods listed in the Method field.

      1. Manual Entry.

        • To complete the base LTI 1.3 Developer Key configuration enter the following values:

        Field

        Value

        Title

        {Enter a Descriptive Title}

        Description

        {Enter a general description for your LTI 1.3 Developer Key}

        Target Link URI

        https://lod-lti-api.labondemand.com/ltiv13/launch

        OpenID Connect Initiation Url

        https://lod-lti-api.labondemand.com/ltiv13/connect/{API Consumer ID}

        JWK Method

        Public JWK URL

        Public JWK

        https://lod-lti-api.labondemand.com/ltiv13/config/jwks/{API Consumer ID}

      2. Paste JSON.

        • If you have the configuration JSON for your Developer Key select Paste JSON from the Method field.

        • Paste the valid JSON configuration in the LTI 1.3 Configuration field.

      3. Enter URL.

        • If you have a URL that links to a Developer Key configuration select Enter URL from the Method field.

        • Enter a valid URL in the JSON URL field.

    7. Your configuration should now look similar to the following:

      • Replace {API Consumer ID} with the number provided by Skillable Support.

      Canvas Developer Key base config

    8. To configure the LTI Advantage Services select LTI Advantage Services, then enable the following settings:

      • Can create and view assignment data in the gradebook associated with the tool.

      • Can view submission data for assignments associated with the tool.

      • Can create and update submission results for assignments associated with the tool.

      • Can retrieve user data associated with the context the tool is installed in.

      Canvas Developer Key LTI Advantage Services

    9. There are no Additional Settings to configure for the Skillable integration so this section can be left to the default values.

    10. Skillable only supports Assignment Selection for Placements at this time so ensure that is the only setting in the Placements field.

      Canvas Developer Placements

    11. To configure the Assignment Selection complete the following fields:

      Field

      Value

      Target Link URI

      https://lod-lti-api.labondemand.com/ltiv13/link

      Select Message Type

      LtiDeepLinkingRequest

      Icon Url

      https://www.labondemand.com/images/favicon.ico

      Text

      {Optional} a descriptive deep link name

      Selection Height

      {Optional} 768

      Selection Width

      {Optional} 1024

      Canvas Developer Key Assignment Selection

    12. To record the Canvas LMS LTI 1.3 Developer Key select Save.  You will be returned to the Developer Keys list page.

    13. From the Developer Keys list page enable the Developer Key by changing the state to ON for the Developer Key just created.

    14. Copy the Client ID Key for the Developer Key you just created by selecting the value in the Details column directly above the Show Key button and copying it to Notepad or another editor to be used in the next task.

      Canvas Developer Key LTI Copy Key

    Congratulations!

    You have now created the Skillable LTI 1.3 Developer Key within the Canvas LMS.  You can now continue to add Skillable as an External Tool in Canvas.

    Set up Skillable Studio in Canvas

    To set up Skillable as a LTI 1.3 Tool you will need to define Skillable as an External App.  The following section will guide you through this process.

    Adding Skillable as an External App

    In order for the LTI 1.3 Developer Key to be used to integrate Skillable to your Canvas LMS, Skillable must be registered as a Canvas App.  This section will guide you through the steps necessary to complete this integration.

    1. From the Canvas Admin page [1], select Settings from the options on the left [2], then select the Apps tab [3].

      Canvas Settings Apps

    2. To view the existing set of Canvas Apps select View App Configurations.

      Canvas Settings Apps View App Configuration

    3. To add Skillable as a new Canvas App select + App from the top right of the list.

      Canvas Settings Add App

    4. Since we have already configured the Canvas LTI 1.3 Developer Key and have the Client ID select By Client ID from the Configuration Type field.

      Canvas Settings Add App By Client ID

    5. To complete the Skillable App configuration paste the Client ID copied at the end of the previous exercise into the Client ID field [1], then select Submit [2].

      Canvas Developer Key

      If your Canvas Developer Key is not enabled you will receive an error message that this Key is disabled.  Return to the Developer Keys section and enable before proceeding.

      Canvas Settings Add App Save Client ID

    6. On the confirmation dialog window select Install to install Skillable as a new Canvas External App.

      Canvas Settings Add App Install

    7. If you encounter a message indicating that Skillable has already been installed as an App select Yes, Install Tool to overwrite any previous configuration.

      Canvas Settings Add App Overwrite

    8. The Skillable Tool should now appear in the list of Canvas External Apps. To retrieve the Deployment ID select the cog icon [1] to the right of the Skillable Tool in the list.

      Canvas Cog Deployment Id

    Congratulations!

    You have now added Skillable as an External App within the Canvas LMS using the LTI 1.3 Developer Key.  If it has not already been completed you can continue to Establish Trust between Canvas and Skillable which is the final step in the Skillable to Canvas LTI 1.3 integration process.

    Establish Trust between Canvas and Skillable

    The establishment of the trust relationship between Canvas and Skillable is handled in the setup of  LTI 1.3 on the Skillable platform.  It is secured through the use of private and public keys.

    This configuration must be performed by the Skillable support team. The Canvas Client ID may be required to complete this configuration. The Client ID can be copied from the Canvas Developer Keys on the Admin page.

    1. If your instance of Canvas is not Cloud-Hosted you must build the base URLs used for Trust enablement.  Obtain the Canvas root domain

    2. Reply to the original Skillable Support ticket and supply the following information to be used to complete the Trust Relationship

    Field

    Value

    LTI 1.3 Issuer

    https://canvas.instructure.com

    LTI 1.3 Access Token URL

    https://<your-canvas-domain>.instructure.com/login/oauth2/token

    Enable Custom Aud

    No

    LTI 1.3 Authorize Url

    https://<your-canvas-domain>.instructure.com/api/lti/authorize_redirect

    LTI 1.3 JWK Set Url

    https://<your-canvas-domain>.instructure.com/api/lti/security/jwks/

    LTI 1.3 Client Id

    See Client Id from Step 14 of Exercise 2. Enable LTI 1.3 Support in Canvas

    LTI 1.3 Scoring

    Select one of
      - Send Activity Level Scores
      - Send Exam Level Scores
      - Send Both Activity and Exam Level Scores

    LTI 1.3 Send Activity Score

    If you only want a final summary score select "No"
    If you want a score for each activity select "Yes"

    Congratulations!

    Once Skillable has confirmed that they have completed the LTI 1.3 configuration on the API Consumer for your organization you can continue on to the next exercise, 5. Test the Integration.

    Test the Integration

    Now that the setup and configuration of both your Canvas instance and the Skillable API Consumer for your organization have been completed it is time to test the integration.  Follow these basic steps to ensure that LTI 1.3 is working for you.

    Prerequisites:

    • A completed Canvas LTI 1.3 setup

    • A Skillable API Consumer with LTI 1.3 configured

    • A Skillable Lab published to the API Consumer


    1. Add or edit a course in Canvas.
      See: Canvas - How do I add a course in an account as an admin?

    2. Search for, and select, the course you just created from the list.

    3. From the Course menu on the left, select Assignments, then select + Assignment from the top .

    4. Enter a name and description for the new assignment.

    5. To link your Skillable lab to the Canvas Assignment, Select External Tool from the Submission Type field.

    6. Select the Find option for the Enter or find an External Tool URL to locate the Developer Key Assignment Selection.

    7. Scroll through the list of published tools and select the appropriate entry with the same name as the Developer Key Assignment Selection Text.

      List of Labs

      The list of available Skillable labs should be displayed in a popup dialog.

    8. Select the lab that you wish to assign to this course, then select Add Selected Labs.

    9. Select the Select button to confirm the lab selection and you will be returned to the Canvas - Courses - Assignments page.

    10. Select the Load {Assignment} in a new window button to launch the lab, then select Save.

      Canvas Load Assignment

    11. On the Assignments page, select Load <your-course> in a new window to launch your lab in a new window and complete the testing of the Canvas LTI 1.3 to Skillable integration.

    Congratulations!

    You have now completed the Skillable Canvas LMS LTI 1.3 integration. To fine-tune your integration or if you have any questions please contact Skillable Support.


    Was this article helpful?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.