Skip to content

Integrating Canoa // edu (LTI 1.3)

How a launch works

  1. Teacher or student clicks the assignment in your LMS.
  2. The LMS sends a signed OpenID Connect login to Canoa // edu.
  3. We validate the JWT signature against your LMS's public keys.
  4. The student sees their unique coin assignment on canoanumis.org.
  5. Scores return to your LMS gradebook via LTI Assignment and Grade Services (when enabled).

No accounts, no passwords, no plugins.

Registration values

Canoa // edu tool registration values
Tool nameCanoa // edu
Target Link URIhttps://canoanumis.org/edu/lti/launch/
OIDC Login Initiation URLhttps://canoanumis.org/edu/lti/login/
Public JWK Set URLhttps://canoanumis.org/edu/.well-known/jwks.json
Redirect URIshttps://canoanumis.org/edu/lti/launch/
LTI servicesDeep Linking 2.0 and Assignment and Grade Services are on the roadmap — no re-registration needed when they ship.
Privacy levelAnonymous — do not send name or email

Set the privacy level to Anonymous. Canoa // edu is designed to work without student names — please don't send them to us.

Canvas (~15 minutes)

  1. Step 1 — Create the Developer Key. As an account admin: Admin → Developer Keys → + Developer Key → + LTI Key. Choose Manual Entry and fill in the values from the table above. Under Additional Settings, set privacy level to Anonymous. Save and toggle the key ON. Copy the Client ID (the long number in the Details column).
  2. Step 2 — Add the app. In the target account or sub-account: Settings → Apps → View App Configurations → + App → By Client ID. Paste the Client ID, confirm.
  3. Step 3 — Register your deployment with us. Email edu@canoanumis.org (or use the form at /edu/pilot/) with: your Canvas domain (e.g. yourdistrict.instructure.com), the Client ID, and the Deployment ID (shown in the app's settings after installation). We activate the deployment within one business day — you'll get a confirmation email with a test-launch link.
  4. Step 4 — Verify. Run the smoke test (section 7).

Canvas issuer is https://canvas.instructure.com for cloud-hosted instances; self-hosted Canvas admins: send us your issuer URL as well.

Schoology (~15 minutes)

  1. Step 1 — As a system admin, open App Center → My Developer Apps (or District Apps, if the tool is installed for the whole district) and create an LTI 1.3 app with the registration values from the table. Privacy: anonymous — uncheck sending of name/email fields.
  2. Step 2 — Install the app to your school/district and approve it for the course levels where teachers will use it.
  3. Step 3 — Send us your Client ID, Deployment ID, and issuer (https://schoology.schoology.com or your district's issuer) — same channel as Canvas, activation within one business day.
  4. Step 4 — Run the smoke test (section 7).

Moodle 4.x (~10 minutes)

  1. Step 1 — Site administration → Plugins → Activity modules → External tool → Manage tools → Configure a tool manually. Fill in: Tool URL = launch URL, LTI version = LTI 1.3, Public key type = Keyset URL (paste our JWKS URL), Initiate login URL, Redirection URIs. Under Services: enable IMS LTI Assignment and Grade Services when available (grade sync is on our roadmap). Under Privacy: set "Share launcher's name with tool" and "Share launcher's email with tool" to Never.
  2. Step 2 — After saving, open the tool's configuration details (the magnifying-glass icon) and copy: Platform ID (issuer), Client ID, Deployment ID, Public keyset URL, Access token URL, Authentication request URL.
  3. Step 3 — Send those six values to edu@canoanumis.org; activation within one business day.
  4. Step 4 — Run the smoke test (section 7).

Google Classroom (shareable links)

Google Classroom does not support the full LTI 1.3 flow. For Classroom, the teacher creates an assignment in the Canoa // edu constructor, gets a shareable link, and attaches it to Classroom as a material. Auto-grading results are visible in the CANOA teacher dashboard; Classroom grade sync is on the roadmap.

Smoke test

  1. Teacher launch: open the tool from a course as a teacher → the assignment constructor opens, without any password prompt.
  2. Create a test assignment: create a "Legend decoding, Trajan, has_image" assignment → it appears in the teacher dashboard.
  3. Student launch: open the assignment under a test student account → a coin with museum attribution is shown; the student's name is displayed nowhere (this is the sign of a correct privacy setting — check it explicitly).
  4. Unique variants: a second test student gets a different coin.
  5. Score: submit an answer → the score appears in the CANOA teacher dashboard review screen (gradebook sync arrives with Assignment and Grade Services).

Troubleshooting

Troubleshooting guide
Symptom Cause Solution
"Invalid signature" at launch Wrong JWKS URL in the LMS, or the tool is not activated with us Re-check the registration values, then email edu@canoanumis.org.
Empty page in the LMS iframe (Safari) Third-party cookies blocked Use the "open in new tab" fallback page; contact us if it doesn't appear.
Score not visible in the teacher dashboard Submission still in "submitted" status (teacher review required) Check the review screen; essay-type assignments are never auto-graded.
Student sees someone else's assignment Reopened a stale link outside the LMS Assignments open only through the LMS launch — expected protection behavior.
Teacher landed on the student screen The LMS passed the Learner role (typical for Canvas "Student View") This is correct behavior; exit Student View.
"Deployment not registered" Step 3 of the guide was not completed Send us your deployment values; we activate within one business day.

Support

Integration help: edu@canoanumis.org — we respond within one business day.