{"_id":"@atomicjolt/lti","_rev":"2-ccc6141ecc848d8f2269bdc268da2eef","name":"@atomicjolt/lti","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@atomicjolt/lti","version":"1.0.0","keywords":["LTI"],"author":{"name":"Atomic Jolt"},"license":"MIT","_id":"@atomicjolt/lti@1.0.0","maintainers":[{"name":"nickbenoit","email":"nick.benoit@atomicjolt.com"},{"name":"seanrcollings.aj","email":"sean.collings@atomicjolt.com"},{"name":"jbasdf","email":"justin@atomicjolt.com"},{"name":"mattpetro","email":"matt.petro@atomicjolt.com"}],"dist":{"shasum":"373517fa2c3f3763fea738e2fdf3da19067afe38","tarball":"https://registry.npmjs.org/@atomicjolt/lti/-/lti-1.0.0.tgz","fileCount":29,"integrity":"sha512-SKVytj3J2LFu+9216QgwDDOyzA3K0hVS7ekIiaZ6pOKSOCiP1pWzI0u/f4YkS+9vpPJ11QFGT9RdWBT22hkaiQ==","signatures":[{"sig":"MEUCIQC6Exr5FlHDQGjgvLiIx0UXTl/lfsuoMjE9LFZnxwV8FAIgPl+wo6AqUdHmcXB6mRbqOzb2QDSoNV72nXVYfFKKyZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60453},"main":"index.js","gitHead":"8bd8dd15f377cdbbc9b6f86cdccc981a284741da","scripts":{"test":"npx vitest","build":"node esbuild.mjs"},"_npmUser":{"name":"jbasdf","email":"justin@atomicjolt.com"},"_npmVersion":"9.7.1","description":"Javascript libraries to handle LTI","directories":{},"_nodeVersion":"18.7.0","dependencies":{"i18next":"^23.2.8","i18next-browser-languagedetector":"^7.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^22.1.0","vitest":"^0.33.0","esbuild":"^0.18.11","eslint-config-typescript":"^3.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lti_1.0.0_1690500494138_0.948320514671553","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-07-27T23:28:14.026Z","modified":"2024-09-04T20:56:19.751Z","1.0.0":"2023-07-27T23:28:14.333Z"},"author":{"name":"Atomic Jolt"},"license":"MIT","keywords":["LTI"],"description":"Javascript libraries to handle LTI","maintainers":[{"email":"ryker.blunck@atomicjolt.com","name":"rykerblunck.atomicjolt"},{"email":"sean.collings@atomicjolt.com","name":"seanrcollings.aj"},{"email":"justin@atomicjolt.com","name":"jbasdf"},{"email":"matt.petro@atomicjolt.com","name":"mattpetro"}],"readme":"# AtomicJolt LTI\nThis is a collection of Javascript used by Atomic Jolt to assist in handling an LTI launch.\n\n## Installation\n\n    `npm i @atomicjolt/lti`\n\n## Usage\nThe application code using this library must implement the LTI Launch in 3 phases, providing the server side code for each phase and returning and html response for each phase. Phases 1 and 3 will include a call to the client side javacript contained in this library. See the 1Edtech working group documentation for more information about the LTI standard: https://www.imsglobal.org/activity/learning-tools-interoperability\n\n1. Open ID Connect initialization\nDuring this phase respond to the OIDC initialization request, attempt to write a state cookie and return and html page with a call to `InitOIDCLaunch`\n\n2. Redirect\nServer side validate the redirect and then return an HTML page capable of redirecting to the final LTI launch\n\n3. Handle the LTI launch.\nValidate the request including checking the nonce server side. Check for a valid state cookie and then return an HTML page with a script that calls `LtiLaunch` from this library.\n\n## Contributing\nReport any issues using Github\n\nBuild package:\n    `npm run build`\n\nPublish package:\n    `npm publish --access public`\n\n## License\nMIT\nThis code is released as open source without any support or warranty. It is used by Atomic Jolt internally and is released in case someone finds it useful.\n","readmeFilename":"README.md"}