Set up Kaltura LMS Video integration LTI 1.3 in Canvas at the sub-account level


About

This article explains how to set up the Kaltura LMS Video integration for Canvas with LTI version 1.3 at the sub-account level. 

The integration uses a set of LTI external tools, manually added through LTI Developer Keys in Canvas. The keys are populated using a JSON block to enable the LTI Tool Provider and configure tool placements within Canvas.

For more information on hierarchical structure of Canvas accounts, visit this Instructure article What is the hierarchical structure for Canvas accounts?  

Update - June 8, 2026

Recent changes to Canvas have affected the process for creating new Scoped API Developer Keys.

Kaltura is currently working with Instructure to validate a revised configuration process. Until updated instructions are available, the steps for creating and configuring a new Scoped API Developer Key in this article may not work as expected.

As of the publishing of this update, existing Canvas integrations and previously created Scoped API Developer Keys continue to function normally.

If you are setting up a new Canvas integration or have questions about updating an existing Canvas integration, contact your Kaltura representative before proceeding.

Canvas LTI tool placement restrictions

When adding third-party applications at the sub-account level, the following restrictions apply:

  1. Global navigation placement is not available for sub-account-level applications.
  2. A Canvas LTI Developer Key supports only one tool placement.

These limitations affect the placement of Kaltura's My Media and Media Gallery tools in Canvas. This guide outlines Kaltura's recommended approach to address these restrictions, which includes creating two LTI Developer Keys and one LTI API Key in Canvas.

Prerequisites

  1. Kaltura administrator account
  2. Kaltura LMS Video integration for Canvas, version 5.99.46 or later
  3. Canvas administrator account

Step 1 - Backup your configuration

  1. Log into your 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 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 exposing the Kaltura LTI 1.3 configuration settings.

  4. Configure the following fields:
  5. The value for “your_Canvas_Domain” will be the domain displayed when a user is working in your Canvas instance, for example, canvas.myuniversity.edu.

  • 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 to generate private and public keys.

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

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

Step 3 - Generate the Canvas LTI developer key JSON

If you are using a KAF domain other than .kaltura.com, such as a vanity domain or alias, make sure to use it as the input for your_KAF_URL.

  • 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

The JSON that is displayed will be used in the next steps to populate the LTI 1.3 Configuration field in the LTI developer keys.

Step 4 - Create a Canvas LTI developer key for all Kaltura tools except My Media

  1. Log into your Canvas instance as an administrator.
  2. Click the Admin tab.
  3. In the Admin navigation panel click on the top-level account for your Canvas hierarchy.
  4. In the Account navigation panel click the Developer Keys tab.
  5. The Developer Keys page displays.

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

  8. Configure the following:
  • Key Name - Enter the key name (Example: Kaltura LTI 1.3 – no My Media.
  • 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 are using a KAF domain other than .kaltura.com, such as a vanity domain or alias, make sure to use it as the input for your_KAF_URL.

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

7. For the LTI 1.3 Configuration field, go to the browser tab used in Step 3 - Generate the Canvas LTI developer key JSON, and copy the JSON code between the first and last brackets { }, then paste it between the brackets in the LTI 1.3 Configuration field.

8. Scroll to the bottom of the page 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 the Kaltura LTI 1.3 – no My Media LTI developer key

  1. Edit the LTI developer key you created in Step 4 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. Update the Title field.
  5. Update the Description field.
  6. Scroll down to the LTI Advantage Services section and click to expand the section.
  7. 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.

7. Click Additional Settings to expand the section.

8. Review the following fields:

  • Domain - your KAF domain without 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

9. Remove the Global Navigation Placement by clicking on the Global Navigation bubble. 

10. 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.
  • 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.

11. Scroll to the bottom of the page and click Save.

Step 6 - Create a Canvas LTI developer key for My Media

  1. Log into your Canvas instance as an administrator.
  2. Click the Admin tab.
  3. In the Admin navigation panel click on the top-level account for your Canvas hierarchy.
  4. In the Account Navigation panel click the Developer Keys tab.
  5. The Developer Keys page displays.

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

  8. Configure the following:
  • Key Name - Enter the key name, Example: Kaltura LTI 1.3 – My Media only).
  • 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 are using a KAF domain other than .kaltura.com, such as a vanity domain or alias, make sure to use it as the input for your_KAF_URL.

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

7. For the LTI 1.3 Configuration field, go to the browser tab used in Step 3 - Generate the Canvas LTI developer key JSON, and copy the JSON code between the first and last bracket { } and paste it between the brackets in the LTI 1.3 Configuration field.

8. Scroll to the bottom of the page 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 7 - Configure the Kaltura LTI 1.3 – My Media only LTI developer key

  1. Edit the LTI developer key you created in Step 6 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. Update the Title field.
  5. Update the Description field.
  6. Scroll down to the LTI Advantage Services section and click to expand the section.
  7. 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.

7. Click Additional Settings to expand the section.

8. 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

9. Remove all the Placements except the Global Navigation Placement by clicking the placement bubbles.

10. Review and edit the Text field for the Global Navigation placement as needed:

  •  Global Navigation: For the Kaltura My Media tool in the global left-hand navigation.

11. Scroll to the bottom of the page and click Save.

Step 8 - Create a Scoped API Developer Key

Important: See the update notice at the top of this article before proceeding.

  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 menu.
  4. The 'Key Settings' page displays.

  5. Configure the following:
  • Key Name - Kaltura Scoped API Key
  • Owner Email - Optional
  • Redirect URLs - Enter your KAF URL starting with https://
    • Use your domain alias or vanity domain if applicable.
    • Make sure there is no / (slash) at the end of the URL.
  • Redirect URL (Legacy) - Enter your KAF URL starting with https://
    • Use your domain alias or vanity domain if applicable.
    • Make sure there is no / (slash) at the end of the URL.
  • Vendor Code (LTI 2) - Leave blank
  • Icon URL - Optional
  • Notes - Optional
  • Test Cluster Only - Leave unchecked
  • Client Credentials Audience - Select Canvas

5. Scroll to the top of the page and click Enforce Scopes.

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 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 9 – Add the LTI Developer Keys to your KAF

  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 a Canvas LTI developer key for all Kaltura tools except My Media 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 down to the ltiAdditionalIntegrations section and click on + Add “ltiAdditionalIntegrations”
  7. Configure the following fields within the ltiAdditionalIntegrations section:
  8. The value for “your_Canvas_Domain” will be the domain displayed when a user is working in your Canvas instance.  Example. canvas.myuniversity.edu.

  • 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

8. Return to the Canvas Developer Key page and locate the listing for the developer key you created in Step 6 - Create a Canvas LTI developer key for the Kaltura My Media tool and copy the Client ID from the Details column.

9. Return to the Hosted module's ltiAdditionalIntegrations settings and paste in the Client ID to the lti13ClientId value.

10. Scroll to the bottom of the Hosted module and click Save.

Step 10 - Set API developer key in Canvas module

  1. Log into your 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 in Step 8 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 you created above as follows: 
  • 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 11 – Add the Kaltura Apps in your Canvas sub-account

  1. Log into Canvas as an administrator and navigate to the Developer Keys page.
  2. On the Developer Keys page, locate the Kaltura LTI 1.3 – no My Media LTI Developer Key you created and copy the Client ID from the Details column.
  3. In the Account navigation panel select Sub-Accounts, and then click on the Sub-account you want to add the Kaltura Apps to.
  4. In the Sub-Account navigation panel scroll to the bottom and click on the Settings tab  (https://{your_Canvas_base_URL}/accounts/1/settings#tab-settings).
  5. The Settings page displays.

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

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

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

  12. Click on the Configuration Type drop-down menu and select By Client ID.
  13. Paste the Client ID copied in Step 4 - Create LTI developer key into the Client ID field.
  14. Click Submit.
  15. Return to the Canvas Developer Keys page, and locate the Kaltura LTI 1.3 – My Media only LTI Developer Key you created and copy the Client ID from the Details column.
  16. Repeat steps 3-10 of Step 11.

Step 12 - Configure the 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 Video 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 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.

  1. Scroll to the bottom of the Hosted module and click Save.
Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted.

In this article
Related articles
  • None