Kaltura Video App for Canvas Deployment Guide LTI 1.3

This guide describes how to add the Kaltura Video App for Canvas with LTI version 1.3 to your Instructure Canvas environment. This guide is intended for Canvas and Kaltura administrators.

Installation Overview and Requirements

The Kaltura Video App for Canvas is implemented as a set of LTI external tools. The tools are added manually through the addition of an LTI Developer Key in Canvas.

Prerequisites

  • A Kaltura Administrator account
  • A Kaltura Application Framework (KAF) instance of type Canvas
    • minimal KAF version is v5.99.46
  • A Canvas Administrator account

Deployment Instructions

This section describes how to deploy the Kaltura Video App for Canvas.  The Kaltura Video App for Canvas uses an LTI Developer Key which is populated using JSON block to enable the LTI Tool Provider and set the placements for the LTI tools within Canvas. The following sections provide the steps to:

  1. Enable LTI 1.3 support within your Kaltura Application Framework (KAF) instance
  2. Create the Canvas LTI Developer Tool JSON code
  3. Create the Canvas LTI and API developer Keys 
  4. Add the Kaltura External Tools to the Canvas account

Section 1. Enable LTI 1.3 in KAF and Configure the Settings

  1. Login to your KAF 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. Check the authMethod field = “lti1.3”
  4. If you are:
    1. A SaaS user:
      Make sure these 3 fields are populated with:
      1. lti13PlatformOidcAuthUrl = https://sso.canvaslms.com/api/lti/authorize_redirect
      2. lti13AuthTokenUrl = https://sso.canvaslms.com/login/oauth2/token
      3. lti13KeysUrl = https://sso.canvaslms.com/api/lti/security/jwks
    2. An On-Prem user:
      1. Set lti13PlatformOidcAuthUrl = https://{your_Canvas_Domain}/api/lti/authorize_redirect
      2. Set lti13AuthTokenUrl = https://{your_Canvas_Domain}/login/oauth2/token
      3. Set lti13KeysUrl = https://{your_Canvas_Domain}/api/lti/security/jwks
  5. Scroll down to the LTI3service section and click the Generate key pair here.  This will generate the keys.
  6. In the Certificate Generator frame click Use to have the key pairs saved to the lti13ServicePrivateKey and lti13ServicePublicKey fields.
  7. Scroll to the bottom of the Hosted module settings and click Save.

Section 2. Generate the LTI Developer Key JSON

  1. Enter the following URL in a browser address bar.
    https://{your_KAF_URL}/canvas/config/create-json-for-instance
    ex. https://12345.kaf.kaltura.com/canvas/config/create-json-for-instance
    Note: If you are using a KAF domain that is other than *.kaltura.com, make sure to use that as the input for your_KAF_URL.
  2. This JSON code will be used in completing the steps in the next section – Create the LTI Developer Key in Canvas.

Section 3. Create the LTI Developer Key in Canvas

  1. Login to your Canvas instance with an Account Admin user account.
  2. Click the following to launch the LTI Developer Key Settings page.
    1. Click the Admin tab.
    2. Click the Developer Keys tab
    3. Click “+ Developer Key”
    4. Click “+ LTI Key”
  3. In the Key Settings page
    1. Change the Method to “paste JSON”
    2. Set Key Name =  “Kaltura Video Plugin”
    3. Set Owner email = optional
    4. Set Redirect URIs = https://{your_KAF_URL}/hosted/index/oauth2-launch
      ex. https://12345.kaf.kaltura.com/hosted/index/oauth2-launch
      Note: If you are using a KAF domain that is other than *.kaltura.com, make sure to use that as the input for your_KAF_URL.
    5. Notes = optional
    6. For the LTI 1.3 Configuration value copy the JSON code that you edited in the previous section (Generate the LTI Developer Key JSON) and paste it between the brackets displayed
    7. Click Save.
  4. The new LTI Developer Key will now be listed on the Developer Keys page.  If the Status is set to “OFF” with a red box around it, it means the key is disabled.   To enable the key click the “On” button.  When the key is enabled “On” will be within a green box.

Section 4. Configure the LTI Developer Key LTI Advantage Services

In order for the LTI Developer Key to work properly certain LTI Advantage Services need to be enabled.

  1. Edit the LTI Developer Key you created by clicking on the pencil icon.
  2. Change the Method to manual entry and scroll down to the LTI Advantage Services section.
    1. Make sure that 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.
  3. Click Save if you have made any changes.

Section 5. Confirm the values in the LTI Developer Key Additional Settings

Review the settings for each of the values in the Additional Settings

  1. Domain should be set to your KAF domain without the “https://”
  2. Tool Id should be set to the KAF URL including “https://”
  3. Icon Url – blank
  4. Text – blank
  5. Selection Height – blank
  6. Selection Width – blank
  7. Custom Fields should 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

Section 6. Confirm/Edit the values for the LTI Developer Key Placements Settings

Important:  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 of the placements listed below the placements box.

Canvas only allows a placement to be used once within a developer key.  The Developer Key JSON file that is generated by Kaltura includes 5 placements.

  1. Expand each tool placement.
  2. Edit the Text field for the tool as needed.

Link Selection – placement for the Kaltura Browse Search and Embed tool to create a video page.

Course Navigation – placement for the Kaltura Course Media Gallery

Global Navigation – placement for the Kaltura My Media tool.  Global left-hand navigation.

Editor Button – placement for the Kaltura Browse Search and Embed tool within the Canvas Rich Content Editor

Assignment Selection – placement for the Kaltura Interactive Video Quiz within the Canvas Assignment tool

Section 7. Set the lti13ClientID value for the LTI Developer Key in KAF

The LTI Developer Key that is created in Canvas is enabled in KAF.

  1. In Canvas navigate to the Developer Keys page.  Admin > Developer Keys (https://{your_Canvas_base_URL}/accounts/1/developer_keys).
  2. On the Canvas Developer Keys page locate the listing for the developer key you created in the steps for Create the LTI Developer Key in Canvas.
  3. Copy the ClientID that is listed for the LTI Developer Key in the Details column.
  4. Login to your KAF Configuration Management page (https://{your_KAF_base_URL}/admin).
  5. Navigate to the Hosted module (https://{your_KAF_base_URL}/admin/config/tab/hosted).
  6. Paste the ClientID into the Hosted module lti13ClientID field.
  7. Scroll to the bottom of the Hosted module settings and click Save.

Section 8. Configure the Kaltura User ID value.

Important:  The default Kaltura User ID value will be your Canvas User ID.  Commonly this is the same value as used for the user’s email address.   If this is not the value that is used by your organization for User ID then please read the following Kaltura Knowledge Center article before proceeding.  Configuring the Kaltura User ID Value to Use with Your LMS Integration.  

With the Kaltura LMS integration, user ID records are passed from the LMS to Kaltura in the LTI Launch.  When using LTI 1.3 as the authentication method (KAF>Hosted>authmethod=lti1.3) value for Kaltura, admins can use the Kaltura Application Framework (KAF) Hosted module's "ltiUserIdAttribute" field to set the value for which LTI attribute to use for the user ID value.

With LTI 1.3 Kaltura has implemented a custom parameter in Canvas for the LTI attribute that contains the User ID value for Kaltura.

  1. Login to your KAF 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 on the page to the ltiUserIdAttribute setting.
  4. Set ltiUserIdAttribute = custom_canvas_user_login_id
  5. Scroll to the bottom of the Hosted module settings and click Save.

Section 9. Set the API Developer Key in Canvas

In order for the Kaltura Application Framework to establish a connection with Canvas you will need to enable an API Key. There are two options for doing this.

Option 1 – Inherited API Key

If your Kaltura Application Framework (KAF) domain is on *.kaltura.com, you do not need to create an API Developer Key and can use the existing Inherited Kaltura key available with Canvas.   You may, however, prefer to use a Scoped API Developer Key.   In that case, jump to Option 2 below. 

To use the Inherited API Developer Key follow these steps:

  1. Log into Canvas as an Admin
  2. Navigate to the Developer Keys page.  Admin > Developer Keys (https://{your_Canvas_base_URL}/accounts/1/developer_keys).
  3. In the Developer Keys screen click on Inherited.
  4. Scroll to the bottom of the page.
  5. Click Show All Keys.
  6. Scroll to the listing for the Kaltura key.
  7. To enable the key click the “On” button. 
  8. A browser popup message will appear and display the following message. “Are you sure you want to change the state of the developer key?  Click OK.
    When the key is enabled “On” will be within a green box.
  9. Go to Section 11.

Option 2 – Scoped API Developer Key

If your Kaltura KAF instance is using a domain other than *. kaltura.com , you will need to create and use an API Developer Key.  For added security Kaltura recommends the use of a Scoped API Key.   Follow these steps:

  1. Log into Canvas as an Admin
  2. Navigate to the Developer Keys page.  Admin > Developer Keys (https://{your_Canvas_base_URL}/accounts/1/developer_keys).
  3. In the Developer Keys screen click on Account
  4. Click on the + Developer Key button
  5. Click on + API Key
  6. Enter the following in the Key Settings page:
    1. Key Name: - Kaltura Scoped Key
    2. Owner Email: - optional
    3. Redirect URIs: - enter your KAF URL starting with "https://" make sure to use your vanity domain if you have implemented one.
    4. Redirect URI (Legacy): - enter your KAF URL starting with "https://" make sure to use your vanity domain if you have implemented one.  (the value should be the same as used in step c.)
    5. Vendor Code (LTI 2): - leave blank
    6. Icon URL: - optional
    7. Notes: - optional
    8. Test Cluster Only – leave unchecked
    9. Client Credentials Audience – Canvas should be selected
  7. Click on Enforce Scopes to display all the available scopes
  8. Leave Allow Include Parameters unchecked
  9. Scroll down to, and expand the Courses scopes
  10. Check the following scopes:
    1. url:GET|/api/v1/courses
    2. url:GET|/api/v1/courses/:id
  11. Click Save.
  12. To enable the key click the “On” button.
  13. A browser popup message will appear and display the following message. “Are you sure you want to change the state of the developer key?  Click OK.
    When the key is enabled, “On” will be within a green box.
  14. Go to Section 10.

Section 10. Set the API Developer Key in the KAF Canvas module

The KAF Hosted module lti13ClientID value indicates to KAF which Canvas LTI Developer Key to connect to.

IMPORTANT:   Only perform the steps in this section if you implemented Section 6 Option 2 - Scoped API Developer Key.

  1. Login to your KAF Configuration Management page (https://{your_KAF_base_URL}/admin).
  2. Navigate to the Canvas module (https://{your_KAF_base_URL}/admin/config/tab/canvas).
  3. Set "useScopedKey" to Yes.  This will expose the “customAppId” and “customAppKey” settings.
  4. Fill in the customAppId and the customAppKey fields using the Key ID and the Key for the API Developer Key you created in Option 2 above.
    1. Log into Canvas as an Admin
    2. Navigate to the Developer Keys page.  Admin > Developer Keys (https://{your_Canvas_base_URL}/accounts/1/developer_keys).
    3. In the Developer Keys screen click on Account
    4. Locate the Canvas API Developer Key you created
      i. Copy the Client ID and paste into the KAF Canvas module customAppId value.
      ii. Click on the Show Key button for the Canvas API Developer Key you created, copy the Key, and paste into the KAF Canvas module customAppKey value.
    5. Scroll to the bottom of the Canvas module settings and click Save.

Section 11. Adding the Kaltura Video App for Canvas Tools in Canvas

Once the above sections are done (KAF Configuration, Canvas LTI Developer Key and Canvas API Developer Key) you can add the Kaltura external tools in Canvas.

  1. Log into Canvas as an Admin
  2. navigate to the Developer Keys page.  Admin > Developer Keys (https://{your_Canvas_base_URL}/accounts/1/developer_keys).
  3. On the Canvas Developer Keys page locate the listing for the developer key you created in the steps for Create the LTI Developer Key in Canvas.
  4. Copy the Client ID that is listed for the LTI Developer Key in the Details column.
  5. Navigate to the Account Settings page.  Admin > Settings (https://{your_Canvas_base_URL}/accounts/1/settings#tab-settings).
  6. In the settings tabs click on “Apps”.
  7. On the Apps page click the “View App Configurations” button.
  8. On the External Apps page click the “+ App” button.
  9. On the Add App page
    1. Click on the “Configuration Type” drop down menu and select “By Client ID”.
    2. Paste the Client ID copied in step 4 into the Client ID field
    3. Click "Submit".

About Canvas LTI Tool Placements

Instructure includes many placements for including external tools within the Canvas LMS.   The deployment process provided in this document provides the tool placements that are recommended by Kaltura as best aligned with those placements used in the deployment of the Kaltura Video Application for Canvas under previous LTI versions. 

Note that there are certain limitations in the placements applied by Canvas based on which level in the Canvas account structure (account, sub-account, course) you add the Kaltura Video app for Canvas (see section titled Adding the Kaltura Video App for Canvas Tools in Canvas.

Was this article helpful?
Thank you for your feedback!
In This Article
Related Articles
Back to top

Never miss a thing!

Subscribe to our customer newsletter and our release notes updates, so you always get the best out of Kaltura.
Newsletter