Canvas LTI Integration
    • 22 Apr 2024
    • 9 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 NameCanvas Field NameField Value
    LTI 1.3 Login / Connect UrlOpenID Connect Initiation Urlhttps://lod-lti-apilabondemand.com/ltiv13/connect/{API Consumer ID}
    LTI 1.3 JWKS UrlPublic JWK URLhttps://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 NameCanvas Field NameField Value
    LTI 1.3 Launch UrlRedirect URI
    and
    Target Link URI
    https://lod-lti-api.labondemand.com/ltiv13/launch
    LTI 1.3 DeepLink Url(Assignment) Target Link URIhttps://lod-lti-api.labondemand.com/ltiv13/link
    LTI 1.3 Icon URLIcon Urlhttps://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:

      FieldValue
      Key Name{A Unique Name}
      Owner Email{A valid email address}
      Redirect URIshttps://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:
        FieldValue
        Title{Enter a Descriptive Title}
        Description{Enter a general description for your LTI 1.3 Developer Key}
        Target Link URIhttps://lod-lti-api.labondemand.com/ltiv13/launch
        OpenID Connect Initiation Urlhttps://lod-lti-api.labondemand.com/ltiv13/connect/{API Consumer ID}
        JWK MethodPublic JWK URL
        Public JWKhttps://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:

      FieldValue
      Target Link URIhttps://lod-lti-api.labondemand.com/ltiv13/link
      Select Message TypeLtiDeepLinkingRequest
      Icon Urlhttps://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
    FieldValue
    LTI 1.3 Issuerhttps://canvas.instructure.com
    LTI 1.3 Access Token URLhttps://<your-canvas-domain>.instructure.com/login/oauth2/token
    Enable Custom AudNo
    LTI 1.3 Authorize Urlhttps://<your-canvas-domain>.instructure.com/api/lti/authorize_redirect
    LTI 1.3 JWK Set Urlhttps://<your-canvas-domain>.instructure.com/api/lti/security/jwks/
    LTI 1.3 Client IdSee Client Id from Step 14 of Exercise 2. Enable LTI 1.3 Support in Canvas
    LTI 1.3 ScoringSelect one of
      - Send Activity Level Scores
      - Send Exam Level Scores
      - Send Both Activity and Exam Level Scores
    LTI 1.3 Send Activity ScoreIf 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.