The following information outlines the steps to add an Apidapter external tool to an Instructure-hosted instance of Canvas; however, before you can follow the steps below, you must create an LTI 1.3 adapter. To do this, follow the directions to create a new LTI 1.3 adapter. After creating your new adapter, follow the directions below.
In Canvas, select Admin>Developer Keys and click + Developer Key. Select the LTI Key option.
You will need the following information to add a new developer key in Canvas:
- Key Name: Apidapter LTI 1.3
- Owner Email: Email of LMS admin
- Redirect URI: https://api.apidapter.com/v0/adapter/XXX (your adapter URL)
- Configure: Manual Entry
- Title: Apidapter (or whichever title you would like to appear in the course navigation).
- Description: Tool description here.
- Target Link URI: https://api.apidapter.com/v0/adapter/XXX (your adapter URL)
- Open ID Connect Initiation URL: https://api.apidapter.com/v0/adapter/XXX (your adapter URL)
- JWK Method: Select Public JWK URL and enter https://api.apidapter.com/v0/adapter/XXX/keyset (your adapter URL with "/keyset" added at the end)
Key Settings: Nothing should be selected here.
LTI Advantage Services: Nothing selected here.
Additional Settings: This is where the client can add the custom parameters to the Custom Fields area under Additional Settings. You should also make sure the Privacy Level is set to Public.
From the Placements drop-down select:
- Course Navigation: Places the tool within the main course navigation.
- Link Selection: Places the tool within a list of available course tools.
For both placements, make sure the message type is set to LTIResourceLinkRequest.
LTI 1.3 Tool Deployment
- Copy the Client ID created in the steps above. You can retrieve the Client ID by finding the tool in the list of LTI 1.3 Developer Keys. The Client ID is the multi-digit number located above the "show key" button (not the button itself).
- Navigate to Admin>Settings>Apps>View App Configurations>+ App.
- Select Configuration Type: By Client ID
- Paste the Client ID from the Developer Key step above and click Submit.
- Verify and install the Apidapter app by clicking Install.
Retrieve the Deployment ID
- On the View App Configurations page, locate your tool, click the gear icon, and click Deployment ID.
- Copy the Deployment ID. Add the Client ID and Deployment ID into your adapter's LTI 1.3 request handler.
Adding Links to Course Modules
- When in a Course, click the Modules link in the Course Navigation.
- In the Module where you’d like to add the link, click the + button.
- In the Add [Item Type] To: drop-down menu, select External Tool.
- Locate your external tool and review the following:
- URL: This will pre-populate based on how the LTI External App was configured.
- Page Name: This will pre-populate based on the name of the LTI External App, but it can be edited.
- Load in a new tab: Due to the various browser cookie/privacy enhancements, we recommend checking this box to open the tool in a new tab.
As the issuer, Instructure-hosted Canvas instances all use the following, regardless of the specific account domain(s) that the tool was launched from:
- https://canvas.instructure.com (Production environment launches)
- https://canvas.beta.instructure.com (Beta environment launches)
- 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:
- https://sso.canvaslms.com/api/lti/authorize_redirect (if launched from a production environment)
- https://sso.beta.canvaslms.com/api/lti/authorize_redirect (if launched from a beta environment)
- 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:
- https://sso.canvaslms.com/api/lti/security/jwks (if launched from a production environment)
- https://sso.beta.canvaslms.com/api/lti/security/jwks (if launched from a beta environment)
- 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.