How cvmcosta/ltijs works
ltijs is a pluggable LTI 1.3 tool-provider library. Its principal workflow is a learning platform initiating an OIDC login and launch; the provider validates the exchange, creates a launch context, and exposes launch-specific services to the tool’s handlers. The graph also preserves platform registration, dynamic registration, and the supported LTI services. Edges reflect README-described capabilities and sampled service behavior; provider orchestration and several unsampled service internals are represented at their exact tree paths, without assuming their internal call wiring.
Main entry points: provider.service.ts Provider · launch-context.service.ts Launch context · access-token-manager.service.ts Access tokens · database-manager.types.ts Database contract
Components 20
Provider runtime
- Public API
src/index.ts - Provider
src/services/provider/provider.service.ts - Express handler
src/services/http-handler/express/express-http-handler.service.ts
Platform and identity
- Launch handling
src/services/launch/launch.service.ts - OIDC flow
src/services/oidc/oidc.service.ts - Launch context
src/services/launch/launch-context.service.ts - Platform registry
src/services/platform-manager/platform-manager.service.ts - Access tokens
src/services/access-token-manager/access-token-manager.service.ts - Dynamic registration
src/services/dynamic-registration/dynamic-registration.service.ts
LTI services
- Deep Linking
src/services/deep-linking/deep-linking.service.ts - Assignment and grades
src/services/grading/grading.service.ts - Names and roles
src/services/names-and-roles/names-and-roles.service.ts
Storage and transport
- Database contract
src/services/database-manager/database-manager.types.ts - MongoDB manager
src/services/database-manager/mongo/mongo-database-manager.service.ts - Legacy MongoDB
src/services/database-manager/mongo-legacy/mongo-legacy-database-manager.service.ts - Cache manager
src/services/cache-manager/cache-manager.types.ts - Redis cache
src/services/cache-manager/redis/redis-cache-manager.service.ts - HTTP requests
src/services/request-handler/fetch/fetch-request-handler.service.ts
Other components
- Learning platform
- Tool application
Connections 24
- Tool application → Public API: imports
- Learning platform → Express handler: initiates login
- Express handler → Provider: dispatches requests
- Provider → OIDC flow: handles OIDC
- Provider → Launch handling: handles launches
- Provider → Dynamic registration: supports registration
- Provider → Platform registry: manages platforms
- OIDC flow → Platform registry: resolves platform
- Launch handling → Launch context: creates context
- Launch context → Deep Linking: provides service
- Launch context → Assignment and grades: provides service
- Launch context → Names and roles: provides service
- Tool application → Provider: registers handlers
- Provider → Database contract: uses storage
- MongoDB manager → Database contract: implements
- Legacy MongoDB → Database contract: implements
- Provider → Cache manager: accepts cache
- Redis cache → Cache manager: implements
- Access tokens → HTTP requests: requests tokens
- Access tokens → Database contract: reads and writes
- Assignment and grades → Access tokens: obtains credentials
- Names and roles → Access tokens: obtains credentials
- Assignment and grades → HTTP requests: calls platform
- Names and roles → HTTP requests: calls platform