Skip to content

Part 2 - Tool Deep Linking: request validation, content items, and signed responses#43

Open
eliknebel wants to merge 14 commits intomasterfrom
v1-part2-tool-deep-linking
Open

Part 2 - Tool Deep Linking: request validation, content items, and signed responses#43
eliknebel wants to merge 14 commits intomasterfrom
v1-part2-tool-deep-linking

Conversation

@eliknebel
Copy link
Contributor

This PR adds complete tool-side Deep Linking support on top of the core refactor. It validates LtiDeepLinkingRequest
launches, parses typed deep-linking settings, builds validated content items, and generates signed deep-linking
response JWTs.

This PR should be reviewed and landed after #42

What Changed

  • Added tool deep-linking public APIs:
    • Lti_1p3.Tool.validate_deep_linking_request/1
    • Lti_1p3.Tool.deep_linking_content_item/2
    • Lti_1p3.Tool.build_deep_linking_response/3
  • Added deep-linking modules for:
    • typed request/settings parsing
    • request validation
    • content item building
    • response building
    • JWT signing
    • telemetry
    • compatibility policy hooks
  • Added shared deep-linking claim key helper:
    • Lti_1p3.DeepLinking.ClaimKeys
  • Updated message dispatch to treat deep-linking launches as a first-class validated path
  • Added deep-linking guide, QA report, and requirement matrix docs

Why

The core PR establishes launch correctness and message dispatch, but deep-linking flows still need request validation
and response generation. This PR closes that gap with a typed, explicit API that is ready for real LMS
interoperability work.

Reviewer Notes

Focus review on:

  • deep-linking request/settings parsing
  • content item validation
  • JWT response claim construction/signing
  • deterministic error semantics
  • LMS compatibility hooks

Most of the diff against master is inherited from PR 1. The incremental review surface here is the new
Tool.DeepLinking modules and the dispatch wiring.

Documentation

  • docs/tool_deep_linking_guide.md
  • docs/features/tool-deep-linking/*
  • README.md
  • CHANGELOG.md

@eliknebel eliknebel changed the title Tool Deep Linking: request validation, content items, and signed responses Part 2 - Tool Deep Linking: request validation, content items, and signed responses Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant