LTI 1.3 implementation for Node.js
npm install @lti-tool/coreModern LTI 1.3 toolkit, built for TypeScript.
- LTI 1.3 OIDC Flow - Complete authentication and launch verification
- Security - JWT verification, nonce validation, replay attack prevention
- Assignment and Grade Services (AGS) - Score submission to LMS
- Session Management - Secure session creation and retrieval
- Client Management - Platform and deployment configuration
``bash`
npm install @lti-tool/core
`typescript
import { LTITool } from '@lti-tool/core';
const ltiTool = new LTITool({
stateSecret: new TextEncoder().encode('your-secret-key'),
keyPair, // Your RSA keypair
storage: new MemoryStorage(),
});
// Configure your LMS
const clientId = await ltiTool.addClient({
/ ... /
});
await ltiTool.addDeployment(clientId, {
/ ... /
});
// Handle LTI flow
const authUrl = await ltiTool.handleLogin(loginParams);
const payload = await ltiTool.verifyLaunch(idToken, state);
const session = await ltiTool.createSession(payload);
``
- API Reference - Complete API documentation
- Examples - (Coming soon) Working examples
Production security features
- JWT signature verification using platform JWKS
- Nonce validation prevents replay attacks
- State verification prevents CSRF
- Client ID and deployment validation