Implement an LTI 1.3 tool launch (OIDC third-party login flow)

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

Steps

  1. Register your tool with the platform (LMS) by providing your OIDC initiation URL, redirect URI, public key or JWKS URL, and client ID
  2. Receive the OIDC Login Initiation request from the LMS as a POST or GET to your initiation URL, containing iss, login_hint, target_link_uri, and lti_message_hint parameters
  3. Validate that the iss and client_id are recognized, generate a cryptographically random state value and nonce, store them (e.g., in a cookie), and redirect the browser to the platform's OIDC authorization endpoint with response_type=id_token, scope=openid, and the state and nonce included
  4. Receive the id_token as a FORM POST to your redirect URI; validate the state matches your stored value, then decode and verify the JWT signature using the platform's public JWKS
  5. Extract the LTI claims from the JWT payload (such as https://purl.imsglobal.org/spec/lti/claim/context and roles) and establish the user's session in your tool

Known gotchas

Related routes

Implement an LTI 1.3 tool launch (OIDC flow)
imsglobal.org · 6 steps · unrated
Implement LTI 1.3 OIDC third-party-initiated login (the initiation step before the id_token launch)
imsglobal.org · 6 steps · unrated
Implement the LTI 1.3 platform-side OIDC login initiation endpoint and the tool's redirect_uri handler to validate the id_token JWT and extract custom claims
imsglobal.org · 6 steps · unrated

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