How ltilibrary/ltiadvantageplatform works
This ASP.NET Core sample is an LTI 1.3 / LTI Advantage platform. Platform users manage tenant-specific platforms, courses, people, and tool registrations; a tool’s LTI/OIDC interaction produces a launch, after which tools can use course membership, gradebook, and deep-linking capabilities. The README documents the broader service set; sampled controller code confirms access checks and persistence for membership and gradebook operations. Some subsystem wiring is unsampled, so the graph omits uncertain call relationships.
Main entry points: ApplicationDbContext.cs Application data context · AuthorizationController.cs Authorization endpoints · ToolClientManager.cs OIDC client manager · OidcLaunch.cshtml.cs OIDC launch
Components 19
Accounts and setup
- Identity management
src/Areas/Identity
LTI launch and OIDC
- OIDC client manager
src/Utility/ToolClientManager.cs - OIDC launch
src/Pages/OidcLaunch.cshtml.cs - Authorization endpoints
src/Controllers/AuthorizationController.cs - LTI claims handler
src/Utility/LtiAdvantageClaimsHandler.cs - Deep-link response
src/Pages/DeepLinks.cshtml.cs
LTI services
- Course membership
src/Controllers/MembershipController.cs - Gradebook line items
src/Controllers/LineItemsController.cs - Score submission
src/Controllers/ScoresController.cs - Grade results
src/Controllers/ResultsController.cs
Platform management
- Platform home
src/Pages/Index.cshtml.cs - Tenant setup
src/Areas/Identity/Pages/Account/Manage - Tool registration
src/Pages/Tools - Course links
src/Pages/CourseLinks - Platform links
src/Pages/PlatformLinks
Persistence
- Application data context
src/Data/ApplicationDbContext.cs - SQLite and OpenIddict store
Other components
- Platform user
- LTI tool
Connections 22
- Platform user → Identity management: registers
- Platform user → Platform home: views platform
- Platform user → Tenant setup: manages tenant
- Platform user → Tool registration: registers tools
- Platform user → Course links: manages course links
- Platform user → Platform links: manages platform links
- Tool registration → OIDC client manager: manages clients
- LTI tool → Authorization endpoints: requests authorization
- Authorization endpoints → LTI claims handler: adds launch claims
- Authorization endpoints → OIDC launch: continues launch
- OIDC launch → LTI tool: redirects launch
- LTI tool → Deep-link response: returns deep link
- LTI tool → Course membership: requests members
- LTI tool → Gradebook line items: manages line items
- LTI tool → Score submission: posts scores
- LTI tool → Grade results: reads results
- Platform home → Application data context: reads tenant
- Course membership → Application data context: reads membership
- Gradebook line items → Application data context: reads and writes
- Score submission → Application data context: reads and writes
- Application data context → SQLite and OpenIddict store: persists data
- OIDC client manager → SQLite and OpenIddict store: stores clients