Independent, self-managed infrastructure Read the production requirements

Learning Tools Interoperability · technical guide

BigBlueButton LTI integration, from standard to working classroom

LTI gives an LMS a standard way to launch an external learning tool with course, user and role context. The useful work begins with one question: which LTI version do both sides actually support?

01 LMS · Platform User, course, role and signed launch
02 LTI Broker + Rooms Validates launch and maps classroom policy
03 BigBlueButton Creates meeting and issues a signed join
The LMS signs the launch; the LTI components translate trusted course context into a BigBlueButton room and role.

Executive brief

What matters

  1. 01

    LTI is a standard, not a plugin: the platform and tool must implement the same version and registration profile.

  2. 02

    BigBlueButton’s LTI deployment uses bbb-lti-broker plus bbb-app-rooms; the official installer exposes the -t key:secret shortcut.

  3. 03

    LTI 1.3 strengthens launch security, while Advantage services such as grades, rosters and deep linking are separate capabilities that must be verified.

01

What Learning Tools Interoperability actually does

Learning Tools Interoperability is a 1EdTech technical standard for connecting a learning platform to a remote tool without a second login. In a BigBlueButton deployment, the LMS is the LTI Platform (historically “Tool Consumer”) and the broker/rooms application is the LTI Tool (historically “Tool Provider”). A launch can carry a stable user identifier, course context, resource link and roles; the tool validates that launch, applies its own policy and sends the user into the appropriate classroom. LTI is not media transport, user-directory synchronization or proof that recordings and grades will return automatically.

  • The LMS remains the source of course membership and launch context.
  • The LTI layer validates the launch and maps LMS roles to room permissions.
  • BigBlueButton still handles meetings, WebRTC media and recording processing.

02

LTI 1.1, LTI 1.3 and LTI Advantage are not interchangeable

Legacy LTI 1.0/1.1 launches use an OAuth 1.0-style consumer key and shared secret. LTI 1.3 replaces that model with OpenID Connect login, OAuth 2.0 and signed JSON Web Tokens backed by public keys. LTI Advantage is the collection of optional services built around LTI 1.3: Assignment and Grade Services (AGS), Names and Role Provisioning Services (NRPS), and Deep Linking. A tool can accept an LTI 1.3 launch without implementing every Advantage service.

03

Install the BigBlueButton LTI components

BigBlueButton documents two applications: bbb-lti-broker accepts and validates incoming LTI launches; bbb-app-rooms provides the educator/student room interface and calls the BigBlueButton API. On the supported bbb-install release branch, the -t option installs the LTI framework and adds or updates a consumer key pair. Generate a dedicated high-entropy secret, use a maintenance window and copy the exact current command from the official release documentation rather than an old blog post.

  1. 1

    Confirm BigBlueButton is healthy with sudo bbb-conf --check and back up the current application configuration.

  2. 2

    Generate a unique LTI consumer key and a long random secret; do not reuse the BigBlueButton API shared secret.

  3. 3

    Run the current bbb-install command for the installed BBB release and append -t KEY:SECRET.

  4. 4

    Open https://bbb.example.org/lti and confirm the broker endpoint responds over a trusted TLS certificate.

  5. 5

    Keep the LTI secret in the LMS secret store and password manager; never place it in a course page or browser script.

BigBlueButton 3.0 example—replace every example value
sudo bbb-conf --check
openssl rand -hex 32
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v3.0.x-release/bbb-install.sh \
  | bash -s -- -v jammy-300 -s bbb.example.org -e admin@example.org -w \
  -t LMS_KEY:LONG_RANDOM_SECRET

04

Register the LMS and map classroom roles

For LTI 1.0/1.1, the broker repository documents a tool URL ending in /lti/TOOL_NAME/messages/blti plus the consumer key and shared secret. LTI 1.3 is a manual, multi-party registration: the LMS supplies issuer, client ID, authentication, token and key-set URLs; the broker supplies login, redirect and public-key details. The current broker README is authoritative for those routes. After registration, explicitly decide which LMS roles become BigBlueButton moderators.

  1. 1

    Choose LTI 1.1 or 1.3 from a written compatibility matrix for the exact LMS and BBB LTI component releases.

  2. 2

    Register the tool in a sandbox tenant/course and exchange only the values required by that version.

  3. 3

    Map Instructor, Faculty or Teacher to moderator only where institutional policy agrees; keep Learner as viewer.

  4. 4

    Limit personal data and optional services to the approved educational purpose.

  5. 5

    Test clock synchronization, key rotation and the exact redirect/launch URLs before opening access.

05

Common problems and practical fixes

A useful acceptance test covers more than a teacher launch. Test an enrolled learner, teaching assistant, unenrolled account, copied course and expired registration. Inspect server logs without recording tokens or personal data. For a legacy launch, the TSUGI test page linked by BigBlueButton can help isolate signing problems; for LTI 1.3, validate OIDC state/nonce, issuer, audience, deployment ID and JWKS retrieval.

  • 401/signature failure: compare normalized launch URL, consumer key, shared secret and server clocks.
  • LTI 1.3 login loop: inspect OIDC initiation URL, redirect URI, cookies, state and nonce.
  • Unknown deployment/client: finish both halves of the manual registration and enable the client.
  • Wrong BBB privileges: review the incoming role claim and BIGBLUEBUTTON_MODERATOR_ROLES.
  • Blank iframe: inspect Content-Security-Policy, X-Frame-Options and third-party-cookie behaviour.

06

Platforms that can use the BigBlueButton LTI route

Use LTI where the platform has no stronger native BigBlueButton connector or where the institution deliberately standardizes external tools. Moodle’s core BigBlueButton activity and Canvas Conferences may be better-supported product paths than replacing them with generic LTI. Open edX, Brightspace and Schoology are the clearest candidates in this library; Jenzabar requires release-specific confirmation. The guides below turn the shared architecture into platform-level checks.

Evidence base

Sources and further reading

We prefer project documentation and first-party product guidance. Community links are included where they reveal recurring operational questions rather than establish product guarantees.

  1. Official BigBlueButton LTI administration guide (opens in a new tab)
  2. 1EdTech Learning Tools Interoperability standard (opens in a new tab)
  3. BigBlueButton LTI Broker repository and registration guide (opens in a new tab)
  4. BigBlueButton Rooms LTI application (opens in a new tab)
  5. Official bbb-install release repository (opens in a new tab)
  6. Learning Tools Interoperability history and overview (opens in a new tab)

Practical answers

Questions teams ask

Does installing -t make BigBlueButton an LTI 1.3 Advantage tool?

It installs the BBB LTI framework and adds credentials. Version-specific registration and supported services still depend on the broker release and LMS. Verify LTI 1.3, AGS, NRPS and Deep Linking separately.

Is the LTI secret the same as the BigBlueButton API secret?

No. They protect different trust boundaries. Use a dedicated LTI credential for the LMS; bbb-app-rooms keeps the BBB API secret on the server side.

Should Moodle use LTI to connect to BigBlueButton?

Usually not. Supported Moodle releases include the certified BigBlueButton activity, which is the more direct path. LTI is useful only for a deliberate architecture with tested compatibility.

Does LTI automatically synchronize recordings or grades?

No. Launch, recording visibility, grades, rosters and deep linking are distinct behaviours. Confirm what the selected tool and platform actually implement.