How do I issue my Open Badges from Canvas?

Modified on Wed, 4 Mar at 10:54 AM

This document is WIP

Overview

This guide walks you through configuring the LTI 1.3 integration between Open Badge Factory (OBF) and Canvas LMS, as well as troubleshooting common issues.

Initial Setup

Step 1: Create LTI 1.3 Developer Key

  1. Log in to OBF and navigate to Admin Tools > LTI

  2. Select Version: 1.3 and LMS: Canvas

  3. In Canvas, click Admin → Developer Keys → + Developer Key

  4. Select + LTI Key

  5. Configure the following settings:

    • Method: Manual Entry

    • JWK Method: Public JWK URL

    • Key Name: e.g., "OBF LTI 1.3 Key"

    • Owner Email: your admin email

    • Title: e.g., "Open Badge Factory"

    • Description: your choice

  6. Copy the following values from OBF to Canvas:

    • Tool Launch URL / Redirect URL → Redirect URIs

    • Tool Launch URL / Redirect URL → Target Link URI

    • Tool OIDC Login Initiation URL → OpenID Connect Initiation Url

    • Public keyset URL → Public JWK URL

  7. Under LTI Advantage Services, enable: "Can retrieve user data associated with the context the tool is installed in"

  8. Under Additional Settings, set Privacy Level: Public

  9. Under Placements, enable Link Selection and/or Course Navigation

  10. Click Save, then change the key state to On

Step 2: Create Tool Deployment

  1. Copy the Client ID created in the previous step (from the "Details" column)

  2. Navigate to Admin > Settings > Apps > + App

  3. Choose Configuration Type: By Client ID

  4. Paste the Developer Key Client ID

  5. Click Submit then Install

  6. Find the OBF tool, click the gear icon, and select Deployment Id

  7. Note the Deployment ID for later use

Step 3: Create API Developer Key

  1. In Canvas, click Admin → Developer Keys → + Developer Key

  2. Select + API Key

  3. Fill in the fields:

    • Key Name: e.g., "OBF API Key"

    • Owner Email: your admin email

  4. From OBF, copy API key redirect URI → Redirect URIs

  5. Optional: enable Enforce Scopes

    • Enable "Allow include Parameters"

    • Under "Courses", allow "url:GET|/api/v1/courses/:course_id/users"

  6. Click Save, then change the key state to On

Step 4: Add Tool Deployment to Factory

  1. In OBF, fill in the LTI settings form with:

    • Canvas base URL: your Canvas installation URL

    • Client ID: LTI Developer Key ID created in Step 1

    • Deployment ID: Deployment ID created in Step 2

    • Developer key ID: API Developer Key ID created in Step 3

    • Developer key: API Developer Key created in Step 3

  2. Click Add

Step 5: Add LTI Link to Courses

  1. Go to a course and click Modules in the course navigation

  2. In the module, click the + button

  3. In the dropdown menu, select External Tool

  4. Find the OBF external tool and review the settings

  5. Click Add Item

The OBF LTI tool will be automatically visible in the course navigation panel if you selected "Course Navigation" placement when creating the Developer Key.

Troubleshooting

"Failed to connect to service" Error

Symptom: Error message when launching the tool from Canvas.

Explanation: The OBF LTI launch URL (https://openbadgefactory.com/ltiapp/lti/) only works when launched from Canvas with a valid LTI 1.3 context. It cannot be opened directly in a browser.

Solution: Check the following points before reinstalling the configuration:

1. Verify LTI Installation Location

  • Go to Admin → Account → Settings → Apps

  • Confirm that the OBF LTI app is installed at the correct account level

  • Check subaccounts under Admin → Account → Sub-accounts

2. Verify Course Location

  • Go to Courses → Select the course → Settings → Course Details

  • Verify that:

    • Root Account matches the account where LTI is installed

    • Subaccount matches one of the subaccounts where LTI is available

3. Verify User Location

  • Go to Admin → Account → People

  • Confirm the user belongs to the same account as the LTI installation

Account or subaccount mismatches are the most common cause of launch errors.

Badges Not Issued Automatically

Symptom: Badge is not issued automatically when a student completes the course.

Solution:

1. Confirm Course Completion

  • Access the student's profile in Canvas

  • Check Enrollments

  • The course must show: "Completed, Enrolled as: Student"

If the course is not marked as completed, automatic badge issuing will not trigger.

2. Verify Account Alignment

Follow the same three verification steps as for the connection error:

  • LTI installation account

  • Course account and subaccount

  • User account

All three must match.

Students Receive Badge Emails but Don't See OBF in Canvas

Cause: This typically indicates that:

  • The badge was successfully issued in OBF

  • But the Canvas ↔ OBF LTI context is misaligned

Solution: Most often, this is caused by the course or user belonging to a different account or subaccount than the LTI installation. Follow the account verification steps above.

Issuing Multiple Badges in One Course

Question: Can we launch and issue a different badge for each Canvas module via LTI?

Short answer: No, this is not supported by the OBF LTI integration.

Details:

  • OBF LTI 1.3 supports one account-level installation

  • There is one global LTI launch URL

  • Badge-specific or per-module LTI launch URLs are not available

  • Public badge application URLs are not LTI-protected and cannot be used securely in Canvas modules

Alternative Solution: Cumulative Badge Progression

You can achieve cumulative badge progression using OBF course badges and Canvas settings.

Configuration in Open Badge Factory

  1. Add multiple course badges

  2. For each badge:

    • Set "Issued when final score is above [X] %"

    • Enable "Issued if enrolment status is active"

OBF checks these rules once per day and issues badges automatically while the course is ongoing.

Example Badge Progression

  • "Enrolled and rolling!" → issued at 1% of final score

  • "Midway milestone" → issued at 50% of final score

  • "Honorary mention" → issued at 90% of final score

  • "Course passed" → issued after course completion (can be set to "Issued to everyone after the course is completed")

Combine with Canvas Module Settings

In Canvas:

  • Use Module Prerequisites to lock modules until earlier modules are completed

By combining:

  • OBF issuing rules

  • Canvas module prerequisites

You can guide students through a structured, cumulative badge journey throughout the course.

Key Takeaways

  • The LTI launch URL only works from Canvas, not directly in a browser

  • Account alignment (LTI installation, course, user) is crucial for proper functioning

  • Badge-specific issuing per module is not supported, but cumulative progression is possible

  • No additional configuration is required on the OBF side once installation is complete

Need Additional Help?

If you encounter problems after checking all these points, contact OBF support with the following information:

  • Screenshots of your Canvas configuration

  • Confirmation of account alignment

  • Specific error messages encountered



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article