Upgrade Kaltura LMS Video integration for Canvas from LTI 1.1 to LTI 1.3


About

This article explains how to upgrade the Kaltura LMS Video integration for Canvas from LTI 1.1 to LTI 1.3.

The integration is implemented using LTI external tools, added via an LTI Developer Key in Canvas.

Changes in user experience

Canvas does not support multiple tools by the same vendor in the same tool placement. With LTI 1.3, you can no longer have both My Media and Media Gallery together in the course navigation as was possible with LTI 1.1.

For more information, see section Canvas LTI tool placements below. 

Existing embedded videos created under LTI 1.1 will continue to work.

As of May 2026, Instructure made updates to support for inherited API Developer Keys in Canvas. As a result, Kaltura deprecated the use of the inherited API Developer Key for Canvas integrations.

This article includes the updated Scoped API Developer Key configuration required when upgrading to LTI 1.3.

If you're already using LTI 1.3 and only need to migrate from an inherited API Developer Key to a Scoped API Developer Key, see Migrate a Canvas integration from an inherited API Developer Key to a Scoped API Developer Key.

Prerequisites

  • A Kaltura administrator account
  • Kaltura LMS Video integration for Canvas, minimum version 5.99.46
  • A Canvas administrator account

Step 1 - Backup your configuration

  1. Log into your KAF Configuration Management console (https://{your_KAF_base_URL}/admin).
  2. Under Server Tools, click Backup Configuration.
  3. On the 'Backup Configuration' page, click Save Backup.
  4. A confirmation message displays: Are you sure you want to save current configuration? Remember that previous backups will be deleted. 

  5. Click Yes, Save.
  6. Once the backup is complete, you'll see a confirmation message: Configuration file was saved successfully.

    The backup page will display the 'last configuration save date', which reflects the date when the configuration settings were last modified, not the date the backup was performed.

Step 2 - Enable LTI 1.3 

  1. In your KAF Configuration Management console, navigate to the Hosted module.
  2.  On the Hosted module page, locate the authMethod field and select lti1.3 from the dropdown.
  3. An additional section displays.

  4. Configure the following fields:
  • lti13PlatformOidcAuthUrl = https://{your_Canvas_Domain}/api/lti/authorize_redirect
  • lti13AuthTokenUrl = https://{your_Canvas_Domain}/login/oauth2/token
  • lti13KeysUrl = https://{your_Canvas_Domain}/api/lti/security/jwks

4. Scroll down to the LTI3service section and click Generate key pair here.

This generates the keys.

5. In the Certificate Generator window, click Use to have the key pairs saved to the lti13ServicePrivateKey and lti13ServicePublicKey fields.

6. Scroll to the bottom of the Hosted module page and click Save.

Step 3 - Generate LTI developer key JSON

Enter the following URL in your browser: https://{your_KAF_URL}/canvas/config/create-json-for-instance Example:https://12345.kaf.kaltura.com/canvas/config/create-json-for-instance

If you're using a KAF domain other than .kaltura.com, make sure to use it as the input for your_KAF_URL.

The JSON will be used in the next step to create the LTI developer key.

Step 4 - Create LTI developer key 

  1. Log into your Canvas instance as an administrator.
  2. Click the Admin tab.
  3. Click the Developer Keys tab.
  4. The Developer Keys page displays.

  5. Click +Developer Key and select + LTI Key from the drop-down list.
  6. The Key Settings page displays.

  7. Configure the following:
  • Key Name - Enter Kaltura Video Plugin.
  • Owner email - optional
  • Redirect URIs - Enter https://{your_KAF_URL}/hosted/index/oauth2-launch Example:https://12345.kaf.kaltura.com/hosted/index/oauth2-launch
  • If you're using a KAF domain other than .kaltura.com, make sure to use it as the input for your_KAF_URL.

  • Notes - optional
  • Method - Select Paste JSON from the drop-down list.

6. In the LTI 1.3 Configuration field, copy the JSON code (not including the brackets) from the previous section (Generate LTI Developer Key JSON) and paste it between the brackets.

7. Scroll down and click Save.

The new LTI developer key will now be listed on the Developer Keys page. If the State is set to off (red), it means the key is disabled. To enable the key, click the toggle (green).

Step 5 - Configure LTI developer key LTI Advantage services

In order for the LTI developer key to work properly, certain LTI Advantage services must be enabled.

  1. Edit the LTI developer key you created by clicking on the pencil icon to the far right of the key.
  2. The Key Settings page displays.

  3. In the Method field, change to Manual entry.
  4. Scroll down to the LTI Advantage services section and click to expand the section.
  5. Make sure the following LTI Advantage services are turned on in addition to others that are enabled:
  • Can create and view assignment data in the gradebook associated with the tool.
  • Can view assignment data in the gradebook associated with the tool.
  • Can view submission data for assignments associated with the tool.
  • Can create and update submissions for assignments associated with the tool.
  • Can retrieve user data associated with the context the tool is installed in.
  • Can update publish jwk for LTI services.

5. Click Save if you have made any changes.

Step 6 - Confirm values in LTI developer key additional settings

  1. Click Additional Settings to expand the section.
  2. Review the following fields:
  • Domain - your KAF domain without the https://
  • Tool Id - your KAF URL including https://
  • Icon Url, Text, Selection Height, Selection Width – leave blank
  • Custom Fields - include the following three custom parameters:
    • custom_canvas_user_id=$Canvas.user.id
    • custom_canvas_course_id=$Canvas.course.id
    • custom_canvas_user_login_id=$Canvas.user.loginId

Step 7 - Confirm or edit LTI developer key placement settings

Clicking on the bubble in the placements box will delete the placement. To edit a placement, click on the > icon to the left of each placement listed.

Canvas only allows each placement to be used once per developer key. The JSON file generated by Kaltura includes five placements.

Review and edit the Text field for each tool placement as needed:

  • Link Selection: For the Kaltura Browse Search and Embed tool, used to create video pages.
  • Course Navigation: For the Kaltura Course Media Gallery.
  • Global Navigation: For the Kaltura My Media tool in the global left-hand navigation.
  • Editor Button: For the Kaltura Browse Search and Embed tool in the Canvas Rich Content Editor.
  • Assignment Selection: For the Kaltura Interactive Video Quiz in the Canvas Assignment tool.

Step 8 - Set 'lti13ClientID' value for LTI developer key

  1. In Canvas, navigate to the Developer Keys page(https://{your_Canvas_base_URL}/accounts/1/developer_keys) .
  2. On the Developer Keys page, locate the listing for the developer key you created in Step 4 - Create LTI Developer Key and copy the Client ID from the Details column.
  3. Log into your KAF Configuration Management page (https://{your_KAF_base_URL}/admin).
  4. Navigate to the Hosted module (https://{your_KAF_base_URL}/admin/config/tab/hosted).
  5. Scroll down to the lti13ClientID field and paste in the Client ID.
  6. Scroll to the bottom of the Hosted module and click Save.

Step 9 - Configure Kaltura user ID value

The default Kaltura User ID is your Canvas User ID, which is often the same as the user’s email address. If your organization uses a different value for User IDs, please refer to Configuring the Kaltura User ID Value to Use with Your LMS Integration before proceeding.

With the Kaltura LMS integration, user ID records are passed from the LMS to Kaltura during the LTI Launch. When using LTI 1.3 authentication, admins can configure which LTI attribute to use for the user ID in the KAF Hosted module.

Kaltura uses a custom parameter in Canvas to store the User ID value. To set this up:

  1. Log into your Configuration Management page (https://{your_KAF_base_URL}/admin).
  2. Navigate to the Hosted module (https://{your_KAF_base_URL}/admin/config/tab/hosted).
  3. Scroll down to the ltiUserIdAttribute setting.
  4. Set ltiUserIdAttribute to custom_canvas_user_login_id.
  5. Scroll to the bottom of the Hosted module and click Save.

Step 10 - Create a Scoped API Developer Key 

  1. Log into Canvas as an administrator.
  2. Navigate to the Developer Keys page
  3. On the Developer Keys page, click + Developer Key and select + API Key from the drop-down list.
  4. The Key Settings page displays.

  5. Configure the following:
    • Key Name - Kaltura Scoped API Key
    • Owner Email - Optional
    • Redirect URLs - Enter the following four KAF URLs:
      • For the {your_KAF_base_URL}, use your PID-based KAF domain or your KAF domain alias or vanity domain, if applicable. 
      • Make sure there is no / (slash) at the end of the URL.
      • https://{your_KAF_base_URL}/canvas/index/create-token-from-code/target/browseandembed
      • https://{your_KAF_base_URL}/canvas/index/create-token-from-code/target/browseandembed?type=quiz
      • https://{your_KAF_base_URL}/canvas/index/create-token-from-code/target/course-gallery
      • https://{your_KAF_base_URL}/canvas/index/create-token-from-code/target/my-media
    • Vendor Code (LTI 2) - Leave blank.
    • Icon URL - Optional
    • Notes - Optional
    • Test Cluster Only – Leave unchecked.
    • Client Credentials Audience – Canvas should be selected.
  6. Your Key Settings will now look similar to the following:

  7. Scroll to the top of the page. If Enforce Scopes is not enabled (the toggle is not green and checked), click the toggle to enable it.
  8. The Enforce Scopes section expands.

    Leave Allow Include Parameters unchecked.

    6. Scroll down to Courses and click to expand.

    7. Check the following scopes:

  • url:GET|/api/v1/courses
  • url:GET|/api/v1/courses/:id

8. Scroll down to Users and click to expand.

9. Check the following scope:

  • url:GET|/api/v1/users/:user_id/profile

10. Click Save.

The Developer Key Created message displays:

11. Copy the API Developer Key secret and store it in a secure location. 

Make sure to copy the API Developer Key secret before closing the dialog box. After the dialog box is closed, the key can no longer be viewed.

12. Click Close.

The 'Developer Keys' page displays.

13. Select the Account tab.

14. Locate the Scoped API Developer Key you created and click the State toggle to turn on the key.

A confirmation message appears.

15. Click Switch to On.

When enabled, the toggle turns green.

Step 11 - Set API Developer Key in Canvas module

  1. Log into your KAF Configuration Management console and open the Canvas module. You can also navigate directly: (https://{your_KAF_base_URL}/admin/config/tab/canvas).
  2. The 'Canvas' page displays.

  3. Scroll down to the useScopedKey field and set it to 'Yes'.
  4. This exposes the Canvas Account API Developer Key settings.

  5. Set the enableUserProfileScope field to 'Yes'.
  6. This setting works with the Canvas user profile scope configured when creating the Scoped API Developer Key and helps prevent repeated authorization prompts when users switch between Canvas environments or Kaltura tools.

  7. Fill in the customAppId and customAppKey fields using the Client ID and API Developer Key secret for the Scoped API Developer Key you created above: 
  • In Canvas, navigate to the Developer Keys page and locate the Canvas API Developer Key you created. 
  • Copy the Client ID and paste it into the customAppId field in the Canvas module.
  • Copy the API Developer Key secret that you saved when creating the Scoped API Developer Key and paste it into the customAppKey field in the Canvas module.
  • The Canvas module useScopedKey section should now look like this:

5. Scroll to the bottom of the Canvas module and click Save.

Step 12 - Add Kaltura tools 

Once you've completed the previous steps, you can add the Kaltura tools.

  1. Log into Canvas as an administrator and navigate to the Developer Keys page.
  2. On the Developer Keys page, locate the LTI developer key you created and copy the Client ID from the Details column.
  3. In the left-hand navigation, click the Settings tab (https://{your_Canvas_base_URL}/accounts/1/settings#tab-settings).
  4. The Settings page displays.

  5. On the Settings page, click the Apps tab.
  6. The External Apps page displays.

  7. Click View App Configurations.
  8. A list of apps displays.

  9. Click +App.
  10. The Add App page displays.

  11. Click on the Configuration Type drop-down menu and select By Client ID.
  12. Paste the Client ID copied in Step 4 - Create LTI developer key into the Client ID field.
  13. Click Submit.

After the upgrade - Remove LTI 1.1 tools

Once you've upgraded to LTI 1.3 and have tested the Kaltura LMS Integration, remove the old LTI 1.1 tools.

  1. Log into Canvas as an administrator.
  2. On the Admin tab in the navigation menu, select the account level where the Kaltura External Learning tools – LTI 1.1 are installed.
  3. In the left-hand navigation, click the Settings tab.
  4. The Settings page displays.
  5. Click the Apps tab.
  6. On the 'External Apps' page, you'll see a list of the Kaltura External apps that have been implemented.

    Your list may look different based on the external learning tools implemented at your institution and the name used when the tool was implemented.

  7. On the External Apps page, click View App Configurations.
  8. The list of apps displays.

  9. Find the Kaltura LTI 1.1 apps, click the gear icon next to each app, and select Delete.
  10. Confirm the deletion in the pop-up message. The app and its placement will be removed.

Canvas LTI tool placements

Instructure provides multiple placements for external tools in Canvas. The recommended Kaltura placements align with those used in earlier LTI versions.

Note that placement limitations may apply depending on where the Kaltura tools are added within the Canvas account structure (account, sub-account, course). See Step 12 - Add Kaltura tools.

Example of My Media and Media Gallery in a Canvas navigation menu


Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted.

In this article
Related articles