LTI® Dynamic Registration Explained
The short answer
Dynamic registration replaces the manual exchange of configuration values with one pasted URL. The administrator gives their LMS a registration link, the two systems agree everything else between themselves, and the tool is installed.
It is specified as LTI Dynamic Registration 1.0 by 1EdTech Consortium, Inc., and builds on OpenID Connect Dynamic Client Registration.
It removes the step where a client ID gets pasted with a trailing space.
Why it exists
Manual registration means an administrator and a vendor exchanging about eight values across two admin screens, in both directions, often over email. Every one is a chance to transpose a character or add a trailing slash — and the resulting failures are opaque, because a mistyped client ID produces "platform not registered" rather than "check the client ID".
Multiply that by every institution a tool serves and it becomes the largest support cost in the whole integration.
How the handshake works
- The administrator starts a registration in the LMS and pastes your registration URL.
- The platform opens that URL, passing a short-lived registration token and the location of its own OpenID configuration.
- Your tool fetches that configuration to learn the platform's endpoints and capabilities — its authentication and token endpoints, its key set, and which message types and placements it supports.
- Your tool POSTs its own configuration back, authorised by the registration token: your URLs, your key set, the messages you support, the placements you want.
- The platform responds with the identifiers it has minted — client ID, deployment ID — and your tool stores them.
- Your tool signals it is finished with a
postMessagetelling the LMS to close the registration window.
The administrator sees a dialog appear and close. Everything else happened between two servers.
The negotiation is real
Step 4 is not a fixed payload. The tool asks for what it supports; the platform accepts what it permits; the registration is the overlap.
This matters because platforms differ in what they will grant. A tool that requests deep linking, grade services and roster access will get all three from one platform and a subset from another, and the registration reflects what was actually granted rather than what was asked for. That is the correct behaviour and it means you still have to check which services a launch offers rather than assuming registration granted them.
Privacy is set here
Registration is where you declare how much personal data you want. The specification's mechanism is to request a narrower set of claims, and the platform sends only what it supports and permits.
Asking for less than the maximum is worth doing deliberately. It shortens security reviews, it is a requirement in some institutions, and an integration that does not depend on names and email addresses is one that works at more of them.
Some platforms also have their own privacy setting alongside the standard mechanism, so a thorough implementation sets both.
Where it is available
| Platform | Dynamic registration |
|---|---|
| Canvas | Yes, plus a JSON-based alternative |
| Moodle | Yes |
| Brightspace | Yes |
| Blackboard | No — manual |
| Schoology | No — manual |
Version matters as well as vendor. A self-hosted installation several releases behind may not offer it even where the current version does.
Because coverage is partial, manual registration does not go away. Build for both — dynamic where it exists, manual where it does not.
Its limits
Registration is not installation. On several platforms, registering a tool and placing it where somebody can click it are separate steps. A registration that completed successfully and a tool nobody can find is the normal result of stopping after the first.
The registration link is short-lived. The token authorising it expires within about an hour, which is correct — it is a credential — and does mean a link sent by email on Monday will not work on Tuesday.
It does not fix what it does not cover. Custom parameters and placement details often still need setting by hand afterwards.
What LTIAAS does
LTIAAS exposes a registration URL you give the administrator, and handles the whole handshake: fetching and validating the platform's configuration, negotiating messages and placements against what your tool wants, storing the returned identifiers, and closing the window.
Two things worth knowing. Registrations can be set to activate automatically, or held for review — useful if you want to see who registered before they can launch. And an intermediate step is available that hands the registration to your own interface before it is finalised, so an administrator can name the platform, pick placements and set a privacy level in your UI rather than accepting defaults.
For Canvas there is also a JSON configuration endpoint, which is the next best thing to dynamic registration on platforms that prefer it.
The setup is in the LMS registration guide, and the API in the dynamic registration reference.
Common questions
What is LTI® dynamic registration?
A protocol where an administrator pastes a single URL into their LMS and the two systems exchange every other configuration value automatically. It replaces copying a dozen fields between two screens by hand.
Which platforms support it?
Canvas, Moodle and Brightspace do. Blackboard and Schoology do not, so those remain manual. Support also depends on version, so an older self-hosted installation may not offer it.
Is it less secure than manual registration?
No. The same values are exchanged and the same trust model applies. The registration is authorised by a short-lived token the platform issues, and the exchange happens between the two servers rather than through a person's clipboard.
Can I still control what gets registered?
Yes. The tool declares what it supports and the platform declares what it accepts, and the result is the overlap. Some implementations also allow a human step so an administrator can name the registration or set a privacy level before it is finalised.
Next
- Every LTI® 1.3 configuration field explained — what it replaces
- LTI® registration guide — the LTIAAS walkthrough
- Manual registration — for platforms without it
