Learn LTI®
Explanations of the LTI® standard for people who have to build against it. Much of what is published about LTI® either describes the specification in the abstract or was written for LTI® 1.1 and never updated. These pages cover the current version, with the requests and responses an integration actually exchanges.
They are written from running LTIAAS in production. Where something is a property of the specification rather than of our service, it is marked as such, and the specification itself is published by 1EdTech Consortium, Inc.
Start here
- What is LTI® 1.3? — the standard, and the launch sequence end to end
- Tool, platform, provider, consumer — the vocabulary, including what 1.3 renamed
- LTI® 1.3 vs LTI® 1.1 — what changed, side by side
Building an integration
- How to add LTI® 1.3 to your application — what you have to implement, and what you can avoid
- Migrating from LTI® 1.1 to LTI® 1.3 — moving an existing integration without breaking the one that works
- LTI® 1.3 libraries compared — what the open-source options cover, and what they leave you
- The LTI® 1.3 security model — what establishes trust, and the checks not to skip
- Building a multi-tenant LTI® tool — what breaks when the second institution arrives
- LTI® 1.3 as a service — what you are choosing between when you decide whether to implement it yourself
Configuration and the services
What the setup fields mean, and what each LTI® Advantage service actually does.
- Every LTI® 1.3 configuration field explained — issuer, client ID, deployment ID and the rest, and which side generates each
- What is an LTI® key? — and why 1.3 does not have one
- LTI® dynamic registration explained — one pasted URL instead of the exchange
- How LTI® deep linking works — letting a teacher pick content inside your tool
- How LTI® grade passback works — line items, scores and why a score can succeed and still not appear
- How LTI® roster access works — reading a course roster, and what personal data you are not entitled to
- LTI® custom parameters and variable substitution — extra values per placement, and why substitution support varies
Browsers and the iframe
An LTI® tool runs inside an iframe, which puts it on the wrong side of every browser restriction on third-party storage. This is the most common reason a working integration starts failing for some users and not others.
- Why LTI® launches break without third-party cookies — what the browser is actually taking away, and the four fixes
- LTI® Platform Storage explained — the specification's own answer, message by message
- Launching outside the iframe — the fallback that always works, and how not to break deep linking with it
- Why your LTI® tool shows a blank page — triage for the symptom everything else produces
LTI® by platform
Every major platform supports LTI® 1.3. What differs is how you register with it, and what each one does that the specification does not describe.
- Does Canvas support LTI® 1.3?
- Does Moodle support LTI® 1.3?
- Does Blackboard support LTI® 1.3?
- Does Brightspace support LTI® 1.3?
- Does Schoology support LTI® 1.3?
- Does Sakai support LTI® 1.3?
- Does Open edX support LTI® 1.3?
- Does Google Classroom support LTI® 1.3? — the one where the answer is no
- Does Microsoft Teams support LTI® 1.3? — as a tool, not a platform
Choosing an approach
- LTI® or an LMS API? — a standard that works everywhere against a proprietary one that does more
- Is LTI® single sign-on? — what it authenticates, and what it leaves you
- Do you need LTI® certification? — what it proves, and what it costs
- How to test an LTI® 1.3 integration — getting a platform to launch from, and what to test once you have one
- How to become an LTI® platform — the other side, if you run the LMS rather than the tool
LTI® and other standards
- SCORM vs LTI® vs xAPI vs cmi5 — four standards that are not alternatives to each other
- OneRoster vs LTI® — moving roster data, versus launching a user
Reference
The guides document LTIAAS itself: account setup, the LMS-by-LMS registration steps, and each API. The glossary defines the terms these articles use.
