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) |
|
Login URL (OpenID Connect login, initiate login URL) |
|
Redirect URL (redirect URI) |
|
Target link URL (launch URL, tool URL) |
|
Domain |
|
Configuration URL (Canvas only) |
|
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:
In Canvas, go to Admin > your root account > Developer Keys. [verify]
Select + Developer Key > + LTI Key. [verify]
For the configuration method, select Enter URL. Paste the Knack configuration URL. [verify label] Canvas accepts a configuration URL for LTI keys.
Save the key. Set the key state to ON. [verify label] Canvas requires the key to be enabled before you can install the tool.
Copy the Client ID. It is the number in the Details column of the key. [verify location]
Go to Settings > Apps > View App Configurations > + App. For Configuration Type, select By Client ID. Paste the Client ID and install. [verify labels]
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:
In Learn, go to Administrator Panel > Integrations > LTI Tool Providers. [verify labels]
Select Register LTI 1.3/Advantage Tool.
Enter the Knack Client ID:
fb2713a9-3209-4143-b9ce-2519cfea7f8e. Submit.Review the tool details. Set Tool Status to Approved. [verify]
Under the user fields to send, select Name, Email address, and Role in course. [verify labels]
Submit.
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:
Go to Admin Tools > Manage Extensibility > LTI Advantage > Register Tool.
Select Standard. [verify] Brightspace also offers Dynamic registration, but Knack does not support it yet.
Enter a name and the Knack values for Domain, Redirect URLs, OpenID Connect Login URL, Target Link URI, and Keyset URL. [verify labels]
Select Register. Copy the values that Brightspace shows. [verify]
Set the registration to Enabled. Brightspace registers new tools as disabled. [verify]
Select View Deployments > New Deployment. Select the Knack tool. [verify labels]
Under Security Settings, select Name and Email under user information. [verify labels]
Select Add Org Units and add the org units that use Knack. [verify]
Create the deployment. Copy the Deployment Id. [verify label]
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:
Go to Site administration > Plugins > Activity modules > External tool > Manage tools.
Select configure a tool manually. [verify label]
Enter the Knack values. Set LTI version to LTI 1.3. Set Public key type to Keyset URL. [verify labels]
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]
Set Default launch container to New window. [verify]
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]
Go to App Center > My Developer Apps > Add App. Select an LTI 1.3 app.
Enter the Knack values for the domain, redirect URL, login URL, and JWK URL.
Set the privacy option to send the name and email of the user who launches the tool.
Save. Open Options > API Info. Copy the Client ID.
Install the app for your organization. Select Install/Remove and select all courses, or the courses that use Knack.
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 |
