Skip to main content

Canvas LMS Setup Guide

For IT Administrators: This guide walks you through integrating DebaterHub with your Canvas LMS instance.

Time Required: ~30 minutes Access Required: Canvas Admin

Overview​

DebaterHub integrates with Canvas LMS using:

  • LTI 1.3 for secure launch and user authentication
  • OAuth 2.0 for grade passback to the Canvas gradebook

No code changes, plugins, or server modifications are required on your Canvas instance.

What You'll Configure​

ComponentPurposeRequired
LTI Developer KeySecure tool launchYes
OAuth Developer KeyGrade passbackYes (for graded assignments)
Course PlacementsWhere tool appearsYes

Part 1: LTI 1.3 Configuration​

Step 1.1: Create LTI Developer Key​

  1. Go to Admin > Developer Keys
  2. Click + Developer Key > LTI Key
  3. Configure the key:
Key Name: DebaterHub
Owner Email: your-[email protected]
Redirect URIs: https://app.my-desk.ai/canvas/callback

Step 1.2: Configure Tool Settings​

In the LTI Key configuration:

FieldValue
TitleDebaterHub
DescriptionAI-powered reading comprehension and learning
Target Link URIhttps://app.my-desk.ai/canvas/launch
OpenID Connect Initiation URLhttps://app.my-desk.ai/canvas/login
JWK MethodPublic JWK URL
Public JWK URLhttps://app.my-desk.ai/.well-known/jwks.json

Step 1.3: Configure Placements​

Enable these placements:

  • Course Navigation - Adds "DebaterHub" to course sidebar
  • Assignment Selection - Allows creating DebaterHub assignments

Step 1.4: Enable and Copy Credentials​

  1. Click Save
  2. Set the key state to ON
  3. Copy the Client ID (you'll need this)

Part 2: OAuth 2.0 Configuration (Grade Passback)​

Step 2.1: Create OAuth Developer Key​

  1. Go to Admin > Developer Keys
  2. Click + Developer Key > API Key
  3. Configure:
Key Name: DebaterHub Grade Sync
Owner Email: your-[email protected]
Redirect URI: https://app.my-desk.ai/canvas/oauth/callback

Step 2.2: Required Scopes​

Enable these scopes:

url:GET|/api/v1/courses/:course_id/assignments
url:GET|/api/v1/courses/:course_id/assignments/:assignment_id
url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id

Step 2.3: Enable and Copy Credentials​

  1. Click Save
  2. Set the key state to ON
  3. Copy the Client ID and Client Secret

Part 3: Complete Setup with DebaterHub​

Step 3.1: Enter Credentials in DebaterHub​

  1. Log in to DebaterHub as an admin
  2. Go to Settings > Integrations > Canvas
  3. Enter your Canvas domain: https://yourschool.instructure.com
  4. Enter the LTI Client ID
  5. Enter the OAuth Client ID and Secret
  6. Click Verify & Save

Step 3.2: Test the Integration​

  1. Create a test course in Canvas
  2. Navigate to Settings > Apps > View App Configurations
  3. Click + App and search for "DebaterHub"
  4. Add the tool to your course
  5. Click "DebaterHub" in the course navigation to launch

Part 4: Verification Checklist​

  • LTI launch opens DebaterHub correctly
  • User name and role are passed correctly
  • Grade passback updates Canvas gradebook
  • Students see their assignments

Security Notes​

  • All communication uses TLS 1.3
  • Tokens are stored encrypted
  • No Canvas data is stored permanently
  • Grade data is transmitted in real-time

Next Steps​

Support​

Technical Support: [email protected]