Optionalconfig: MemoryStorageConfigAdds a new client configuration to storage.
Partial client configuration object
Adds a new deployment to an existing client.
Client identifier
Deployment configuration to add
Stores a new user session after successful LTI launch.
Complete session object with user, context, and service data
The session ID for reference
Removes a client configuration from storage.
Unique client identifier
Removes a deployment from a Client.
Client identifier
Deployment identifier to remove
Removes a registration session from storage (cleanup after completion or expiration).
Unique session identifier to delete
Retrieves client configuration by its unique id.
Unique client identifier
Client configuration if found, undefined otherwise
Retrieves deployment configuration by client ID and deployment ID (admin use).
Unique client identifier
Deployment identifier
Deployment configuration if found, undefined otherwise
Retrieves launch configuration for LTI authentication flow.
Platform issuer URL (identifies the LMS)
OAuth2 client identifier for this tool
Deployment identifier within the platform
Launch configuration if found, undefined otherwise
Retrieves a registration session by its ID for validation during completion.
Unique session identifier
Registration session if found and not expired, undefined otherwise
Retrieves an active user session by session ID.
Unique session identifier (typically a UUID)
Session object if found and valid, undefined otherwise
Retrieves all clients configured in the system.
Array of all client configurations
Lists all deployments for a specific client.
Client identifier
Array of deployment configurations
Stores launch configuration for platform authentication.
Complete launch configuration with auth URLs and keys
Stores a temporary registration session during LTI 1.3 dynamic registration flow. Sessions have a TTL and are automatically cleaned up when expired.
Unique session identifier (typically a UUID)
Registration session data including platform config and tokens
Stores a nonce with expiration time for replay attack prevention.
Unique nonce value (typically a UUID)
When this nonce should be considered expired
Updates an existing client configuration.
Unique client identifier
Partial client object with fields to update
Updates an existing deployment configuration.
Client identifier
Deployment identifier to update
Partial deployment object with fields to update
Validates a nonce and marks it as used to prevent replay attacks.
Nonce value to validate
true if nonce is valid and unused, false if already used or expired
In-memory LTI storage implementation.
⚠️ WARNING: NOT SUITABLE FOR SERVERLESS/MULTI-INSTANCE DEPLOYMENTS
This storage keeps all data in memory and provides no persistence. It's intended for:
DO NOT use in serverless environments (AWS Lambda, Vercel, etc.) as:
For production serverless deployments, use DynamoDbStorage or similar.