LTI 1.3 Integration: Canvas

LTI 1.3 Integration: Canvas

In order to utilize this tutorial, you need to have System Administrator level permissions in Concourse. If you do not have these permissions, please contact the Concourse administrator at your institution to get the correct access before attempting the steps below.

If you use an LMS other than Canvas, please navigate to the appropriate article within the Concourse Support Center.

In this article, we provide instructions on how to build out LTI 1.3 integration between Canvas and Concourse. Concourse uses a middleware tool called Apidapter to handle integrations between your external systems and Concourse. The steps provided in this article are specific to Concourse, and provide step-by-step instructions with associated screenshots. To build out the entire integration, you will also need to review the Apidapter support article LTI 1.3 Integration: Canvas

The Apidapter support article mentioned above provides information on
  1. creating a new LTI 1.3 adapter,
  2. configuring a new LTI 1.3 tool in Canvas, and
  3. creating the LTI 1.3 link in a course.
If you don't have access to your school's Apidapter account, please contact either your school's Concourse administrator or your Concourse implementation specialist to gain the appropriate access to complete the steps above.

Once you have completed all configurations between Canvas and Apidapter, you will be able to complete the following steps.


Step-By-Step Tutorial

This tutorial has steps that go back and forth between Concourse and Apidapter. Consider having both programs open before starting the tutorial.

1. Within Concourse, access the LTI 1.3 Deployment area in Admin>System>LTI 1.3 (under the LTI category). On the resulting LTI 1.3 Deployment page, you will see the following fields:
  1. Name
  2. Issuer*
  3. Client ID
  4. Auth Login URL*
  5. Key Set URL*
  6. Deployment ID
*Canvas Issuer: As the issuer, Instructure-hosted** Canvas instances all use the following, regardless of the specific account domain(s) that the tool was launched from:
  1. https://canvas.instructure.com (Production environment launches)
  2. https://canvas.beta.instructure.com (Beta environment launches)
  3. https://canvas.test.instructure.com (Test environment launches)
*Canvas Authentication Request: For Instructure-hosted** Canvas, regardless of the domain used by the client, the endpoint is always:
  1. https://sso.canvaslms.com/api/lti/authorize_redirect (if launched from a production environment)
  2. https://sso.beta.canvaslms.com/api/lti/authorize_redirect (if launched from a beta environment)
  3. https://sso.test.canvaslms.com/api/lti/authorize_redirect (if launched from a test environment)
*Canvas Public Keyset: For Instructure-hosted** Canvas, regardless of the domain used by the client, the public keyset URL is always:
  1. https://sso.canvaslms.com/api/lti/security/jwks (if launched from a production environment)
  2. https://sso.beta.canvaslms.com/api/lti/security/jwks (if launched from a beta environment)
  3. https://sso.test.canvaslms.com/api/lti/security/jwks (if launched from a test environment)

**If your Canvas instance is locally-hosted, you will not be able to use this information. Instead, you must obtain the correct issuer, authentication request, and keyset information from your Canvas administrator.

Example of new Concourse LTI deploymentFig. 1: Example of a new Concourse LTI deployment in Admin>System>LTI 1.3.


All of the information you need to complete this form and create this new deployment are available within your Canvas LTI 1.3 adapter in Apidapter, within the response component and the main adapter page.

2. Fill out the fields in the LTI Deployments form. The information needed for the Name, Issuer, Client ID, and Deployment ID fields are found in Apidapter by clicking on Build from the main adapter page, then clicking on the LTI response component in the adapter build area. The following is an example of the LTI response component in Apidapter:

Example LTI response componentFig. 2: Example of the Apidapter LTI 1.3 response component.

3. The response component should load with several fields. You should see something similar to the following:

Example Apidapter completed LTI 1.3 response componentFig. 3: Example of a completed LTI 1.3 response in Apidapter.


4. Copy the values from Issuer, Client ID, and Deployment ID from this area of Apidapter and paste them into the associated areas within the Add a New LTI 1.3 Deployment area in Concourse.
We recommend adding the formal adapter name to the Name area.

Example new Concourse deployment with Apidapter informationFig. 4: Example of Concourse LTI 1.3 deployment in progress.

5. To complete the Auth Login URL, Auth Token URL, and Key Set URL, navigate to the main adapter page for your LTI 1.3 adapter in Apidapter. On this page, you will see a section called Additional URLs; this section contains the three (3) Additional URLs you will need in order to complete the creation of this 1.3 deployment in Concourse:
  1. Auth URL: URL used for retrieving authorization
  2. Token URL: URL used for token manipulation. *Not supported by Apidapter*
  3. Keyset URL: URL used for fetching public key
Example additional URLs in ApidapterFig. 5: Example of additional LTI 1.3 URLs in Apidapter


6. Copy the Auth URL, Token URL, and Keyset URL from Apidapter and paste them into the associated fields in your Concourse LTI 1.3 deployment area:

Example new Concourse deployment completeFig. 6: Example of complete Concourse LTI 1.3 deployment.


7. When each field within the Concourse LTI 1.3 deployment area has been populated, click Create. You will be directed to the newly created deployment.

Example existing Concourse deploymentFig. 7: Example of Concourse LTI 1.3 deployment after creation.


Congratulations! You have successfully built out the integration for Canvas and Concourse. 


    • Related Articles

    • Opening Concourse in a New Window (Canvas)

      This article will be most useful for IT/IS staff and Canvas admins. Overview If your institution uses Canvas LMS and has integrated Concourse via LTI 1.3, you may have noticed an uptick in “ID token: State not found” errors. This error means that the ...
    • LTI 1.3 Integration: Moodle

      In order to utilize this tutorial, you need to have System Administrator level permissions in Concourse. If you do not have these permissions, please contact the Concourse administrator at your institution to get the correct access before attempting ...
    • LTI 1.3 Integration: Blackboard

      In order to utilize this tutorial, you need to have System Administrator level permissions in Concourse. If you do not have these permissions, please contact the Concourse administrator at your institution to get the correct access before attempting ...
    • Integration Options

      Concourse has been successfully integrated with a number of commercial, open source, and homegrown solutions, including portals, student and learning systems, and authentication servers. Depending upon the needs of your campus you may have run ...
    • LTI 1.3 Integration: D2L Brightspace

      In order to utilize this tutorial, you need to have System Administrator level permissions in Concourse. If you do not have these permissions, please contact the Concourse administrator at your institution to get the correct access before attempting ...