LTI 1.3 Advantage & Decoupled LMS Microservices: Building Modular Virtual Classrooms

Bymond Engineering
August 18, 202613 min read
LTI 1.3 Advantage and Decoupled LMS Microservices Blueprint

Standard Learning Management System (LMS) integrations built on legacy LTI 1.1 standards relied on basic shared-secret signatures (HMAC-SHA1) appended to HTTP POST requests.

As major enterprise LMS vendors (such as Canvas, Moodle, Blackboard, and D2L Brightspace) enforced strict security guidelines, LTI 1.1 was deprecated due to core vulnerabilities: unencrypted user tokens, session hijacking risks, and lack of fine-grained gradebook sync APIs.

Modern enterprise EdTech platforms must adopt LTI 1.3 Advantage standards. Built on top of OpenID Connect (OIDC), OAuth2 client credentials, and JSON Web Signature (JWS) keysets (JWKS), LTI 1.3 provides a secure framework for embedding custom virtual room tools, live proctoring plugins, and BigBlueButton clusters seamlessly into any LMS environment.

In this software engineering guide, Bymond demonstrates how to architect decoupled LMS microservices using LTI 1.3 Advantage, handling OIDC authentication state machines, Deep Linking, and automated Gradebook Services (AGS).

The LTI 1.3 Advantage Security Architecture

Unlike legacy POST forms, LTI 1.3 enforces a multi-step OIDC Third-Party Launch Sequence:

bash
LTI 1.3 ADVANTAGE OIDC LAUNCH SEQUENCING:

[ LMS Platform (Canvas/Moodle) ]                   [ Decoupled Virtual Room Microservice ]
               |                                                     |
               | --- 1. OIDC Login Initiation Request (HTTP GET) --> |
               | <--- 2. Redirect to LMS Authorization Endpoint ---- |
               |                                                     |
  (Validates User Session & Roles)                                   |
               |                                                     |
               | --- 3. POST id_token JWT (Signed with LMS Private Key) -> |
               |                                                     |
                                                   (Verifies JWT signature using LMS Public JWKS)
                                                   (Launches Embedded BigBlueButton Session!)

Core LTI 1.3 Advantage Services

LTI 1.3 Advantage encompasses three distinct extension services:

bash
LTI 1.3 ADVANTAGE EXTENSION TRIPLE:
+-------------------------------------------------------------------+
| 1. Deep Linking (Content Item Selection Service)                  |
| 2. Assignment and Grade Services (AGS - Automated Grade Sync)     |
| 3. Names and Role Provisioning Services (NRPS - Class Rosters)    |
+-------------------------------------------------------------------+

1. Deep Linking Service

Allows instructors creating course content inside Canvas or Moodle to open an interactive modal pop-up powered by your microservice, configure BigBlueButton room settings (e.g., enabling recording, setting max user limits, or assigning co-moderators), and return a signed ltiResourceLink payload to the LMS.

2. Assignment and Grade Services (AGS)

Enables background workers to submit automated attendance duration scores, quiz grades, or participation percentages directly into the LMS gradebook:

typescript
// Production LTI 1.3 Gradebook Sync Service Example
import axios from 'axios';

export async function publishAttendanceGrade(
  lineItemUrl: string,
  accessToken: string,
  userId: string,
  attendancePercentage: number
) {
  const payload = {
    timestamp: new Date().toISOString(),
    scoreGiven: attendancePercentage,
    scoreMaximum: 100,
    comment: 'Automated BigBlueButton Attendance Score',
    activityProgress: 'Completed',
    gradingProgress: 'FullyGraded',
    userId: userId,
  };

  const response = await axios.post(lineItemUrl, payload, {
    headers: {
      Authorization: `Bearer ${accessToken}`,
      'Content-Type': 'application/vnd.ims.lis.v2.lineitem+json',
    },
  });

  return response.data;
}

3. Names and Role Provisioning Services (NRPS)

Queries the LMS API securely to retrieve real-time course enrollment rosters, automatically mapping LMS roles (http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor) to BigBlueButton moderator permissions.

Decoupled Microservices Architecture

Rather than embedding LTI state logic directly inside core application monoliths, Bymond architects a standalone LTI Gateway Microservice:

bash
DECOUPLED LTI ARCHITECTURE:

[ Canvas / Moodle / D2L ]
           |
           v (LTI 1.3 OIDC Launch)
+-------------------------------------------------------------------+
| LTI Gateway Microservice (Node.js / Express)                       |
| - Verifies JWKS Signatures                                         |
| - Stores State Tokens in Redis                                     |
| - Generates Stateless Internal JWT Access Token                   |
+-------------------------------------------------------------------+
           |
           v (Internal Authenticated Request)
+-------------------------------------------------------------------+
| Custom Virtual Classroom Frontend (Next.js App)                   |
| - Renders Embedded BigBlueButton WebRTC Iframe                     |
| - Subscribes to Real-Time Telemetry Webhooks                      |
+-------------------------------------------------------------------+

Summary & Next Steps

Adopting LTI 1.3 Advantage unlocks seamless, enterprise-grade interoperability between custom BigBlueButton infrastructure and global LMS platforms.

Share Article:
BigBlueButton Host Ecosystem

Ready to scale BigBlueButton without DevOps overhead?

Eliminate server crashes, TURN relay dropouts, and manual updates. Bymond operates fully managed, auto-scaling BigBlueButton clusters for universities, academies, and EdTech platforms.

Explore BigBlueButton Hosting

Continue Reading: Related Engineering Guides