Skip to content
Studeia Docs

Canvas LMS integration via LTI 1.3 (Studeia as tool provider)

How to register Studeia as external tool in Canvas via LTI 1.3: OIDC launch + JWT/JWKS, AGS grade passback (grades sync back), Names and Roles service, placements in course navigation/assignment.

2026-05-24 6 min
Resposta curta

Studeia works as LTI 1.3 tool provider in Canvas LMS. Setup in Canvas: Admin > Developer Keys > LTI Key > paste config JSON generated in /institution/lti-tools of Studeia > activate placement. OIDC launch + JWT/JWKS + AGS grade passback (grades sync automatically to Canvas Gradebook). Useful for universities on Canvas wanting to complement with Studeia (AI tutor, gamification, B2B mobile) in specific courses without divesting main LMS.

Prerequisites

  • Studeia plan with LTI enabled (Enterprise or paid plans)
  • Canvas Admin role
  • HTTPS on both sides

Setup

1. Studeia: generate LTI tool config

/institution/lti-tools > New Tool: Tool name, Target Link URI, OIDC Login URI, Public JWKS URL. Studeia generates Client ID + Deployment ID. Display complete JSON config.

2. Canvas: register Developer Key

Canvas Admin > Developer Keys > LTI Key > Method: Paste JSON > paste from step 1 > Save > ON. Copy Client ID generated by Canvas.

3. Canvas: install app

Account Admin > Settings > Apps > By Client ID > paste. Configure placements: Course Navigation, Assignment Selection, Link Selection, User Navigation.

4. Validate

Any Canvas course > side menu > Studeia tool > should open Studeia logged with same user via OIDC launch.

How it works

Student in Canvas clicks "Studeia Module" → Canvas POST /lti/login → Studeia validates + redirects with state + nonce → Canvas redirects student to /lti/launch with JWT id_token → Studeia LtiService.launch() validates JWT, nonce, JIT provisions user, creates Enrollment, starts session → redirect to module/lesson/quiz.

AGS grade passback

Student completes Studeia activity with AGS line_item → LtiAdvantageService.sendScore() → POST {issuer}/api/lti/courses/{courseId}/line_items/{itemId}/scores → Canvas Gradebook auto-updates.

Names and Roles Provisioning Service (NRPS)

LTI 1.3 spec allows Studeia to query Canvas course student list: GET {nrps_url}/memberships (Bearer auth). Useful to pre-populate Enrollments.

Common use cases

University already on Canvas wants Studeia in specific course

  1. CS department decides to use Studeia for CS101 (real AI tutor)
  2. Canvas Admin adds Studeia tool in CS101 course
  3. Canvas has topics + assignments + gradebook. Studeia has AI tutor + gamification + interactive content
  4. Quizzes via Studeia → grade passback to Canvas Gradebook

Gradual Canvas → Studeia migration

  1. Add Studeia LTI in all courses
  2. New courses: create directly in Studeia, LTI link in Canvas as entry point
  3. Legacy courses: keep in Canvas, complement with Studeia
  4. In 1-2 years: evaluate Canvas decommission

Troubleshooting

  • JWT validation fails: verify JWKS URL publicly accessible
  • Grade passback not working: verify AGS scope enabled in Canvas Developer Key
  • Student sees "Tool unavailable": OIDC nonce expired (>15min) or state HMAC mismatch

See also

FAQ

How to add Studeia in Canvas course?

Studeia as LTI 1.3 tool provider. In Studeia: /institution/lti-tools > Generate Client ID + JWKS. In Canvas: Admin > Developer Keys > LTI Key > Method: Paste JSON > paste Studeia config. Then Admin > Settings > Apps > By Client ID > paste ID. Activate placements.

Do grades sync automatically?

Yes, via AGS (Assignment and Grade Service). When student completes Studeia activity: backend calls POST {issuer}/api/lti/courses/{courseId}/line_items/{itemId}/scores. Grade appears in Canvas Gradebook (Canvas remains source-of-truth).

Can I use Studeia AI tutor inside Canvas?

Yes. When student accesses LTI link in Canvas: OIDC launch validates JWT + creates Studeia session + redirects to module/lesson. Student uses AI tutor, gamification, everything from Studeia — inside Canvas iframe (or new tab if iframe blocked).

What data does Canvas send to Studeia via LTI?

Per LTI 1.3 spec: user_id, name, email, roles, context_id, context_label/title, launch_presentation, resource_link_id. Plus AGS endpoints for grade passback. Names and Roles to list course students (with permission).

Veja tambem

Canvas LMS integration via LTI 1.3 (Studeia as tool provider)