add-lti-launch

Enable LTI 1.3 launch support in Phoenix applications with route wiring and session handling.

2|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/DecoyLex/ltix --skill add-lti-launch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-lti-launch
Source: https://github.com/DecoyLex/ltix/tree/main/usage-rules/skills/add-lti-launch
Command: npx skills add https://github.com/DecoyLex/ltix --skill add-lti-launch

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Add LTI 1.3 launch support to Phoenix applications, enabling secure integration with LMS platforms.

Core Features & Use Cases

  • Setup and wiring of routes for login and launch, including session handling and HTTPS configuration.
  • Separation of concerns with two pipelines: one for the launch flow (no CSRF) and one for the post-launch app interactions (CSRF-protected).
  • Guidance for deploying and testing end-to-end launches; includes prerequisites and best practices.

Quick Start

Follow Steps 1–5 to wire LTI launch into your Phoenix app and validate the end-to-end login-to-launch flow.

Frequently Asked Questions about add-lti-launch

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add LTI 1.3 launch support to a Phoenix application?

You add LTI 1.3 launch support to a Phoenix application by wiring login and launch routes, configuring HTTPS, and setting up session handling to integrate securely with LMS platforms. This involves starting Ltix.JWT.KeySet.EtsCache in your supervision tree.

Why does my LTI launch fail inside a cross-origin iframe in Phoenix?

LTI launch often fails in a cross-origin iframe because standard session cookies are blocked. You must specifically secure cross-origin iframe sessions using custom pipeline configurations to ensure the LMS platform can interact with your Phoenix app without losing session state.

Do I need separate pipelines for LTI launch and post-launch app interactions?

Yes, you need separate pipelines for LTI launch and post-launch interactions. The launch flow pipeline omits CSRF protection to allow the initial LMS redirect, while the post-launch pipeline applies standard CSRF protection to secure subsequent app interactions.

How does OIDC login-to-launch flow work with LTI 1.3 in Elixir?

The OIDC login-to-launch flow in Elixir validates the LMS platform identity request, establishes a secure session, and processes the LTI 1.3 launch payload. It requires starting the JWT KeySet cache and wiring dedicated Phoenix routes to complete the end-to-end flow.

What are the prerequisites for testing an end-to-end LTI 1.3 launch in Phoenix?

Prerequisites for testing an end-to-end LTI 1.3 launch include configuring HTTPS, starting the Ltix.JWT.KeySet.EtsCache in your supervision tree, and wiring the lti_launch and lti pipelines. You also need an LMS platform configured to target your Phoenix application endpoints.