Skip to main content

Connect Knack to your Institution's LMS with LTI

A guide on how to connect Knack to the LMS used by your institution

Written by Luke Stevens

Knack can integrate with learning platforms which support the LTI specification defined by 1EdTech (formerly known as IMS Global). Examples of platforms which support LTI include Canvas, Blackboard, D2L Brightspace, and Moodle. Please contact your Knack Partner Success Manager to have this enabled.

Our authenticated launch functionality allows students to seamlessly and securely launch into Knack from a link in the LMS via the LTI integration.

Before you start

  • Ask your Knack Partner Success Manager to turn on LTI for your institution.

  • Use LTI 1.3 (LTI Advantage). Knack does not accept new LTI 1.1 installs.

  • You need administrator access to your LMS.

Values you copy from Knack

Field in your LMS

Value

Public keyset URL (JWKS, JWK URL)

https://api.joinknack.com/lti/jwks

Login URL (OpenID Connect login, initiate login URL)

https://api.joinknack.com/lti

Redirect URL (redirect URI)

https://api.joinknack.com/lti

Target link URL (launch URL, tool URL)

https://api.joinknack.com/lti

Domain

api.joinknack.com

Configuration URL (Canvas only)

https://api.joinknack.com/lti/config/json

Enter each URL exactly as shown. Do not add a slash at the end.

Rules that apply to every LMS

  • Send name and email. Knack needs the first name, last name, and email address of each user. If your LMS does not send all three, the launch fails.

  • Send Knack every deployment ID. Your LMS creates a deployment ID each time you install Knack in a new place. Examples are a new sub-account, a new course, or a new org unit. Knack accepts launches only from deployment IDs that Knack registered. Send each new deployment ID to Knack before users launch from that place.

  • Install once, high in the tree. Install Knack at the top account or organization level when you can. One install gives one deployment ID. Many course-level installs give many deployment IDs.

  • Open Knack in a new window. Some browsers block cookies inside an iframe. A new window or tab avoids this. [verify for each LMS]

  • Keep the tool on. If you turn off the tool or the key in your LMS, launches stop.

Canvas (hosted by Instructure)

Send Knack these values:

  • Client ID

  • Deployment ID

Steps:

  1. In Canvas, go to Admin > your root account > Developer Keys. [verify]

  2. Select + Developer Key > + LTI Key. [verify]

  3. For the configuration method, select Enter URL. Paste the Knack configuration URL. [verify label] Canvas accepts a configuration URL for LTI keys.

  4. Save the key. Set the key state to ON. [verify label] Canvas requires the key to be enabled before you can install the tool.

  5. Copy the Client ID. It is the number in the Details column of the key. [verify location]

  6. Go to Settings > Apps > View App Configurations > + App. For Configuration Type, select By Client ID. Paste the Client ID and install. [verify labels]

  7. Find the Knack app in the list. Open the gear menu and select Deployment Id. Copy the value. [verify location] Canvas shows the deployment ID after you install the tool with the Client ID.

Known problems:

  • Wrong install level. Each account, sub-account, or course install has its own deployment ID. Install at the root account to get one deployment ID.

  • Privacy level. The Knack configuration sets the privacy level to Public. Canvas then sends name and email. If you change it to Anonymous, Name only, or Email only, Canvas does not send all of the values Knack needs, and the launch fails.

  • Placements. Knack adds links in Account Navigation and Course Navigation. Knack also adds a Global Navigation link that is off by default. Each link opens Knack in a new tab.

  • Beta and test. Knack accepts the same Client ID and Deployment ID from your Canvas beta and test environments.

  • Self-hosted Canvas. Use the steps under "Other platforms".

Blackboard Learn (SaaS, Ultra and Original)

Send Knack this value:

  • Deployment ID

Steps:

  1. In Learn, go to Administrator Panel > Integrations > LTI Tool Providers. [verify labels]

  2. Select Register LTI 1.3/Advantage Tool.

  3. Enter the Knack Client ID: fb2713a9-3209-4143-b9ce-2519cfea7f8e. Submit.

  4. Review the tool details. Set Tool Status to Approved. [verify]

  5. Under the user fields to send, select Name, Email address, and Role in course. [verify labels]

  6. Submit.

  7. Open the Knack tool, select Edit, and copy the Deployment ID.

Known problems:

  • User fields. If you do not send name and email, the launch fails.

  • Self-hosted Learn. Use the steps under "Other platforms". [verify]

D2L Brightspace

Send Knack these values from the registration and the deployment:

  • Issuer

  • Client ID

  • Deployment ID

  • Brightspace Keyset URL

  • Brightspace OAuth2 Access Token URL

  • OpenID Connect Authentication Endpoint

  • Brightspace OAuth2 Audience [verify]

Your admin role needs the Manage LTI Advantage Tool Registrations and Manage LTI Advantage Tool Deployments permissions at the organization level.

Steps:

  1. Go to Admin Tools > Manage Extensibility > LTI Advantage > Register Tool.

  2. Select Standard. [verify] Brightspace also offers Dynamic registration, but Knack does not support it yet.

  3. Enter a name and the Knack values for Domain, Redirect URLs, OpenID Connect Login URL, Target Link URI, and Keyset URL. [verify labels]

  4. Select Register. Copy the values that Brightspace shows. [verify]

  5. Set the registration to Enabled. Brightspace registers new tools as disabled. [verify]

  6. Select View Deployments > New Deployment. Select the Knack tool. [verify labels]

  7. Under Security Settings, select Name and Email under user information. [verify labels]

  8. Select Add Org Units and add the org units that use Knack. [verify]

  9. Create the deployment. Copy the Deployment Id. [verify label]

  10. Create a link to Knack in the deployment. [verify]

Known problems:

  • Registration is disabled. Brightspace does not allow launches from a disabled registration.

  • One domain per registration. Brightspace allows each domain in only one enabled registration. [verify]

  • Org units. Users outside the org units in the deployment cannot launch Knack.

  • Exact URLs. Brightspace compares the redirect URL as an exact string. A slash at the end causes a failure. [verify]

Moodle

Send Knack these values:

  • Platform ID

  • Client ID

  • Deployment ID

Steps:

  1. Go to Site administration > Plugins > Activity modules > External tool > Manage tools.

  2. Select configure a tool manually. [verify label]

  3. Enter the Knack values. Set LTI version to LTI 1.3. Set Public key type to Keyset URL. [verify labels]

  4. Under Privacy, set Share launcher's name with the tool to Always. Set Share launcher's email with the tool to Always. [verify location in site-level form]

  5. Set Default launch container to New window. [verify]

  6. Save. On the Knack tool card, open the configuration details. Copy Platform ID, Client ID, and Deployment ID. [verify labels]

Known problems:

  • Platform ID must match your site URL. Knack builds the Moodle key and login URLs from the Platform ID. Copy it exactly. If Moodle runs in a folder, such as https://lms.example.edu/moodle, include the folder. Do not add a slash at the end.

  • Course-level tools. A tool that a teacher adds in one course is a separate tool with different IDs. Configure Knack at the site level. [verify]

  • Privacy. If Moodle does not share name and email, the launch fails.

Schoology

Send Knack these values:

  • Client ID

  • Deployment ID

Steps: [verify all; only third-party and provider guides describe these steps]

  1. Go to App Center > My Developer Apps > Add App. Select an LTI 1.3 app.

  2. Enter the Knack values for the domain, redirect URL, login URL, and JWK URL.

  3. Set the privacy option to send the name and email of the user who launches the tool.

  4. Save. Open Options > API Info. Copy the Client ID.

  5. Install the app for your organization. Select Install/Remove and select all courses, or the courses that use Knack.

  6. Go to Organization Apps. Select Configure on the Knack app. Copy the Deployment ID.

Known problems:

  • Privacy is hard to change. One vendor reports that you must contact Schoology to change the privacy option after you save it. Set it correctly the first time. [verify]

Other platforms and self-hosted LMS

Send Knack these values:

  • Platform ID (issuer)

  • Client ID

  • Deployment ID

  • Public keyset URL (JWKS URL), or the RSA public key

  • Authentication URL (OpenID Connect authorization endpoint)

  • Access token URL

  • Authorization server ID, if it is different from the access token URL

If the launch fails

Knack shows the message "We're very sorry but the LTI authenticated launch failed!" and a request ID. Send the request ID, the time of the launch, and the LMS page you used to Knack support.

Common causes:

What you see

Usual cause

What to do

Launch fails in one course or sub-account only

That place has a new deployment ID

Send the deployment ID to Knack

Launch fails for all users after setup

Client ID or deployment ID is wrong, or the tool is off

Check the IDs. Turn on the key or tool.

Launch fails for some users

The LMS did not send name or email for those users

Turn on name and email sharing. Check that each user has an email in the LMS.

Launch worked before and now fails

Your Knack access ended, or the user account is deactivated

Contact your Knack Partner Success Manager

Did this answer your question?