From 584869e29787cd07d4b8a724b791a1c1fcc264af Mon Sep 17 00:00:00 2001 From: Marco Date: Sun, 18 Jan 2026 22:41:49 +1100 Subject: [PATCH 01/20] @theforage/ltijs --- package-lock.json | 24 +++++++++++++++++++++--- package.json | 6 +++++- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 902500f..93c507e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "ltijs", + "name": "@theforage/ltijs", "version": "5.9.9", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "ltijs", + "name": "@theforage/ltijs", "version": "5.9.9", "license": "Apache-2.0", "dependencies": { @@ -132,6 +132,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", "dev": true, + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -2217,6 +2218,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2674,6 +2676,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001716", "electron-to-chromium": "^1.5.149", @@ -2893,6 +2896,7 @@ "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, + "peer": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -3831,6 +3835,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -4028,6 +4033,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, + "peer": true, "dependencies": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -4080,6 +4086,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, + "peer": true, "dependencies": { "builtins": "^5.0.1", "eslint-plugin-es": "^4.1.0", @@ -4138,6 +4145,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4150,6 +4158,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", "dev": true, + "peer": true, "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", @@ -9555,6 +9564,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", "dev": true, + "peer": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -11018,7 +11028,8 @@ "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true + "dev": true, + "peer": true }, "acorn-jsx": { "version": "5.3.2", @@ -11364,6 +11375,7 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", "dev": true, + "peer": true, "requires": { "caniuse-lite": "^1.0.30001716", "electron-to-chromium": "^1.5.149", @@ -11519,6 +11531,7 @@ "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, + "peer": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -12215,6 +12228,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, + "peer": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -12401,6 +12415,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, + "peer": true, "requires": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -12446,6 +12461,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, + "peer": true, "requires": { "builtins": "^5.0.1", "eslint-plugin-es": "^4.1.0", @@ -12488,6 +12504,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, + "peer": true, "requires": {} }, "eslint-plugin-react": { @@ -12495,6 +12512,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", "dev": true, + "peer": true, "requires": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", diff --git a/package.json b/package.json index 8285857..a4bd5db 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,9 @@ { - "name": "ltijs", + "name": "@theforage/ltijs", + "publishConfig": { + "access": "restricted", + "@theforage:registry": "https://npm.pkg.github.com" + }, "version": "5.9.9", "description": "Easily turn your web application into a LTI 1.3 Learning Tool.", "main": "index.js", From 26986304de2c811707ba49678734b8d078ae8631 Mon Sep 17 00:00:00 2001 From: Marco Date: Sun, 18 Jan 2026 22:42:17 +1100 Subject: [PATCH 02/20] DynamicRegistration.register returns more info --- src/Provider/Provider.js | 2 +- src/Provider/Services/DynamicRegistration.js | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Provider/Provider.js b/src/Provider/Provider.js index 5045eff..615c46a 100644 --- a/src/Provider/Provider.js +++ b/src/Provider/Provider.js @@ -61,7 +61,7 @@ class Provider { #dynamicRegistrationCallback = async (req, res, next) => { try { if (!req.query.openid_configuration) return res.status(400).send({ status: 400, error: 'Bad Request', details: { message: 'Missing parameter: "openid_configuration".' } }) - const message = await this.DynamicRegistration.register(req.query.openid_configuration, req.query.registration_token) + const { message } = await this.DynamicRegistration.register(req.query.openid_configuration, req.query.registration_token) res.setHeader('Content-type', 'text/html') res.send(message) } catch (err) { diff --git a/src/Provider/Services/DynamicRegistration.js b/src/Provider/Services/DynamicRegistration.js index 941e997..efcff53 100644 --- a/src/Provider/Services/DynamicRegistration.js +++ b/src/Provider/Services/DynamicRegistration.js @@ -148,7 +148,10 @@ class DynamicRegistration { await this.#Database.Insert(false, 'platformStatus', { id: await registered.platformId(), active: this.#autoActivate }) // Returing message indicating the end of registration flow - return '' + return { + platform: registered, + message: '' + } } } From fb957b478003751233a608bdfe0f16465fd692fd Mon Sep 17 00:00:00 2001 From: Marco Date: Sun, 18 Jan 2026 22:47:29 +1100 Subject: [PATCH 03/20] node 22 --- package-lock.json | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 93c507e..ce6be1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -132,7 +132,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", "dev": true, - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -2218,7 +2217,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2676,7 +2674,6 @@ "url": "https://github.com/sponsors/ai" } ], - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001716", "electron-to-chromium": "^1.5.149", @@ -2896,7 +2893,6 @@ "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, - "peer": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -3835,7 +3831,6 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -4033,7 +4028,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, - "peer": true, "dependencies": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -4086,7 +4080,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, - "peer": true, "dependencies": { "builtins": "^5.0.1", "eslint-plugin-es": "^4.1.0", @@ -4145,7 +4138,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, - "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4158,7 +4150,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", "dev": true, - "peer": true, "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", @@ -9564,7 +9555,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", "dev": true, - "peer": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -11028,8 +11018,7 @@ "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "peer": true + "dev": true }, "acorn-jsx": { "version": "5.3.2", @@ -11375,7 +11364,6 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", "dev": true, - "peer": true, "requires": { "caniuse-lite": "^1.0.30001716", "electron-to-chromium": "^1.5.149", @@ -11531,7 +11519,6 @@ "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, - "peer": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -12228,7 +12215,6 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "peer": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -12415,7 +12401,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, - "peer": true, "requires": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -12461,7 +12446,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, - "peer": true, "requires": { "builtins": "^5.0.1", "eslint-plugin-es": "^4.1.0", @@ -12504,7 +12488,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, - "peer": true, "requires": {} }, "eslint-plugin-react": { @@ -12512,7 +12495,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", "dev": true, - "peer": true, "requires": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", From 993dd2366e9f01c364a0bdf33b4d89b2ac7c6e9b Mon Sep 17 00:00:00 2001 From: Marco Date: Sun, 18 Jan 2026 22:54:06 +1100 Subject: [PATCH 04/20] build --- dist/Provider/Provider.js | 4 +++- dist/Provider/Services/DynamicRegistration.js | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/dist/Provider/Provider.js b/dist/Provider/Provider.js index 8b619a9..2f76fad 100644 --- a/dist/Provider/Provider.js +++ b/dist/Provider/Provider.js @@ -84,7 +84,9 @@ class Provider { message: 'Missing parameter: "openid_configuration".' } }); - const message = await this.DynamicRegistration.register(req.query.openid_configuration, req.query.registration_token); + const { + message + } = await this.DynamicRegistration.register(req.query.openid_configuration, req.query.registration_token); res.setHeader('Content-type', 'text/html'); res.send(message); } catch (err) { diff --git a/dist/Provider/Services/DynamicRegistration.js b/dist/Provider/Services/DynamicRegistration.js index e3c1706..d2d4c2c 100644 --- a/dist/Provider/Services/DynamicRegistration.js +++ b/dist/Provider/Services/DynamicRegistration.js @@ -135,7 +135,10 @@ class DynamicRegistration { }); // Returing message indicating the end of registration flow - return ''; + return { + platform: registered, + message: '' + }; } } function _buildUrl(url, path) { From c4b5329a58b71f149a9e9def24052bdcb5087cc0 Mon Sep 17 00:00:00 2001 From: Marco Date: Sun, 18 Jan 2026 22:54:37 +1100 Subject: [PATCH 05/20] 5.9.10 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ce6be1c..f5bf22a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@theforage/ltijs", - "version": "5.9.9", + "version": "5.9.10", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@theforage/ltijs", - "version": "5.9.9", + "version": "5.9.10", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.27.1", diff --git a/package.json b/package.json index a4bd5db..88bec87 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com" }, - "version": "5.9.9", + "version": "5.9.10", "description": "Easily turn your web application into a LTI 1.3 Learning Tool.", "main": "index.js", "engineStrict": true, From 5fbde1b97af84b25afabcdee059ec3ab217efcb7 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 19 Jan 2026 14:59:33 +1100 Subject: [PATCH 06/20] get req.token from req.cookies.lti_token --- dist/Utils/Server.js | 4 ++++ src/Utils/Server.js | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/dist/Utils/Server.js b/dist/Utils/Server.js index b54b8d3..4b24807 100644 --- a/dist/Utils/Server.js +++ b/dist/Utils/Server.js @@ -102,6 +102,10 @@ class Server { return next(); } } + if (req.cookies.lti_token) { + req.token = req.cookies.lti_token; + return next(); + } return next(); }); diff --git a/src/Utils/Server.js b/src/Utils/Server.js index cb9c4f8..d2ce85f 100644 --- a/src/Utils/Server.js +++ b/src/Utils/Server.js @@ -94,6 +94,10 @@ class Server { return next() } } + if (req.cookies.lti_token) { + req.token = req.cookies.lti_token; + return next(); + } return next() }) From 8283330a752b4f0db74f963ba29eadee578d7976 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 19 Jan 2026 14:59:42 +1100 Subject: [PATCH 07/20] 5.9.11 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f5bf22a..0cf4299 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@theforage/ltijs", - "version": "5.9.10", + "version": "5.9.11", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@theforage/ltijs", - "version": "5.9.10", + "version": "5.9.11", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.27.1", diff --git a/package.json b/package.json index 88bec87..94a8cdf 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com" }, - "version": "5.9.10", + "version": "5.9.11", "description": "Easily turn your web application into a LTI 1.3 Learning Tool.", "main": "index.js", "engineStrict": true, From 671d28263f6ff6f7dbaa14387b154d5931fb0c88 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 19 Jan 2026 15:50:56 +1100 Subject: [PATCH 08/20] revert req.cookies.lti_token --- src/Utils/Server.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Utils/Server.js b/src/Utils/Server.js index d2ce85f..cb9c4f8 100644 --- a/src/Utils/Server.js +++ b/src/Utils/Server.js @@ -94,10 +94,6 @@ class Server { return next() } } - if (req.cookies.lti_token) { - req.token = req.cookies.lti_token; - return next(); - } return next() }) From 624d604b682978e7758e429ebe10939657069bd9 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 19 Jan 2026 15:51:00 +1100 Subject: [PATCH 09/20] 5.9.12 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0cf4299..0a246eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@theforage/ltijs", - "version": "5.9.11", + "version": "5.9.12", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@theforage/ltijs", - "version": "5.9.11", + "version": "5.9.12", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.27.1", diff --git a/package.json b/package.json index 94a8cdf..ccd33b1 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com" }, - "version": "5.9.11", + "version": "5.9.12", "description": "Easily turn your web application into a LTI 1.3 Learning Tool.", "main": "index.js", "engineStrict": true, From d8bbd594f888b8cc3dcb8305cd60197d719a9bf9 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 19 Jan 2026 18:57:56 +1100 Subject: [PATCH 10/20] build --- dist/Utils/Server.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dist/Utils/Server.js b/dist/Utils/Server.js index 4b24807..b54b8d3 100644 --- a/dist/Utils/Server.js +++ b/dist/Utils/Server.js @@ -102,10 +102,6 @@ class Server { return next(); } } - if (req.cookies.lti_token) { - req.token = req.cookies.lti_token; - return next(); - } return next(); }); From df9bce7c4437044656dcd37e110aa13de0cd7e84 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 19 Jan 2026 18:57:59 +1100 Subject: [PATCH 11/20] 5.9.13 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0a246eb..41f174c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@theforage/ltijs", - "version": "5.9.12", + "version": "5.9.13", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@theforage/ltijs", - "version": "5.9.12", + "version": "5.9.13", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.27.1", diff --git a/package.json b/package.json index ccd33b1..4cce23c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com" }, - "version": "5.9.12", + "version": "5.9.13", "description": "Easily turn your web application into a LTI 1.3 Learning Tool.", "main": "index.js", "engineStrict": true, From c1495a6ca8d57be9ebcf968f6bbadbc01033885d Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 19 Jan 2026 19:04:32 +1100 Subject: [PATCH 12/20] clean --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4cce23c..9c6483a 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "@theforage/ltijs", + "version": "5.9.13", "publishConfig": { "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com" }, - "version": "5.9.13", "description": "Easily turn your web application into a LTI 1.3 Learning Tool.", "main": "index.js", "engineStrict": true, From 7b349dc67c02137d918b1040bf4536d99392dde8 Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 3 Mar 2026 10:43:33 +1100 Subject: [PATCH 13/20] store the whole valid field in contextToken --- src/Provider/Provider.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Provider/Provider.js b/src/Provider/Provider.js index 615c46a..f44d6b7 100644 --- a/src/Provider/Provider.js +++ b/src/Provider/Provider.js @@ -303,6 +303,7 @@ class Provider { version: valid['https://purl.imsglobal.org/spec/lti/claim/version'], deepLinkingSettings: valid['https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings'], lis: valid['https://purl.imsglobal.org/spec/lti/claim/lis'], + valid, ...additionalContextProperties } From fc7d04ca067447bd18ebf6652349ad541729fe59 Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 3 Mar 2026 10:44:04 +1100 Subject: [PATCH 14/20] 5.9.14 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 41f174c..d42fb6a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@theforage/ltijs", - "version": "5.9.13", + "version": "5.9.14", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@theforage/ltijs", - "version": "5.9.13", + "version": "5.9.14", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.27.1", diff --git a/package.json b/package.json index 9c6483a..1b90770 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@theforage/ltijs", - "version": "5.9.13", + "version": "5.9.14", "publishConfig": { "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com" From aa80a0bb5e3e0c046a7568371fb96ad0d6caafef Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 3 Mar 2026 10:45:28 +1100 Subject: [PATCH 15/20] build --- dist/Provider/Provider.js | 1 + 1 file changed, 1 insertion(+) diff --git a/dist/Provider/Provider.js b/dist/Provider/Provider.js index 2f76fad..a3e10a8 100644 --- a/dist/Provider/Provider.js +++ b/dist/Provider/Provider.js @@ -343,6 +343,7 @@ class Provider { version: valid['https://purl.imsglobal.org/spec/lti/claim/version'], deepLinkingSettings: valid['https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings'], lis: valid['https://purl.imsglobal.org/spec/lti/claim/lis'], + valid, ...additionalContextProperties }; From f746e409e26eb4b4f3c494df1fad88921bfc688d Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 3 Mar 2026 10:45:30 +1100 Subject: [PATCH 16/20] 5.9.15 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index d42fb6a..a96ed49 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@theforage/ltijs", - "version": "5.9.14", + "version": "5.9.15", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@theforage/ltijs", - "version": "5.9.14", + "version": "5.9.15", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.27.1", diff --git a/package.json b/package.json index 1b90770..f7027ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@theforage/ltijs", - "version": "5.9.14", + "version": "5.9.15", "publishConfig": { "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com" From 3021773b8da3767addc59bb60436cce377f1a3a5 Mon Sep 17 00:00:00 2001 From: Andrew WU <229668854+andrewwufg@users.noreply.github.com> Date: Fri, 13 Mar 2026 12:36:55 +1100 Subject: [PATCH 17/20] Return platform configuration from dynamic register action (#2) * Return platform configuration from dynamic register action * revert version bump --- src/Provider/Services/DynamicRegistration.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Provider/Services/DynamicRegistration.js b/src/Provider/Services/DynamicRegistration.js index efcff53..28d2f79 100644 --- a/src/Provider/Services/DynamicRegistration.js +++ b/src/Provider/Services/DynamicRegistration.js @@ -149,6 +149,7 @@ class DynamicRegistration { // Returing message indicating the end of registration flow return { + configuration, platform: registered, message: '' } From 02142dd8b124bafe8223e5c1f09ccbf184a7e836 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 13 Mar 2026 12:37:07 +1100 Subject: [PATCH 18/20] 5.9.16 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a96ed49..f61ba4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@theforage/ltijs", - "version": "5.9.15", + "version": "5.9.16", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@theforage/ltijs", - "version": "5.9.15", + "version": "5.9.16", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.27.1", diff --git a/package.json b/package.json index f7027ec..ddca8ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@theforage/ltijs", - "version": "5.9.15", + "version": "5.9.16", "publishConfig": { "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com" From 6e705da1b9466e1faffbd34abffeede956a04a14 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 13 Mar 2026 14:47:47 +1100 Subject: [PATCH 19/20] rebuild --- dist/Provider/Services/DynamicRegistration.js | 1 + 1 file changed, 1 insertion(+) diff --git a/dist/Provider/Services/DynamicRegistration.js b/dist/Provider/Services/DynamicRegistration.js index d2d4c2c..210e65a 100644 --- a/dist/Provider/Services/DynamicRegistration.js +++ b/dist/Provider/Services/DynamicRegistration.js @@ -136,6 +136,7 @@ class DynamicRegistration { // Returing message indicating the end of registration flow return { + configuration, platform: registered, message: '' }; From 5353b25890f3efb222bdcadada695ad24a2704dd Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 13 Mar 2026 14:47:49 +1100 Subject: [PATCH 20/20] 5.9.17 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f61ba4b..c1169a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@theforage/ltijs", - "version": "5.9.16", + "version": "5.9.17", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@theforage/ltijs", - "version": "5.9.16", + "version": "5.9.17", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.27.1", diff --git a/package.json b/package.json index ddca8ea..279de8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@theforage/ltijs", - "version": "5.9.16", + "version": "5.9.17", "publishConfig": { "access": "restricted", "@theforage:registry": "https://npm.pkg.github.com"