Correlate and validate the anti-forgery data claim between an LTI 1.3 Deep Linking request and the tool's response

domain: imsglobal.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. On receiving the LtiDeepLinkingRequest launch, read the deep_linking_settings claim (https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings) and extract its data property, an opaque string set by the platform.
  2. Store the launch's deep_linking_settings (return URL, accepted content types, data value) server-side keyed to the current session; don't trust a client-supplied copy of it.
  3. When building the LtiDeepLinkingResponse JWT, echo the exact same data value back in the https://purl.imsglobal.org/spec/lti-dl/claim/data claim alongside content_items.
  4. Sign the response JWT with the tool's private key and auto-submit it via form POST to the deep_linking_return_url taken from the original settings claim.
  5. If building the platform side instead of the tool side, reject any deep linking response whose data claim doesn't exactly match the value issued in the corresponding request.

Known gotchas

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans