diff --git a/lib/Limes.ts b/lib/Limes.ts index 06f78b6..515887a 100644 --- a/lib/Limes.ts +++ b/lib/Limes.ts @@ -1,8 +1,8 @@ import { Claims } from './Claims'; import { flaschenpost } from 'flaschenpost'; import { IdentityProvider } from './IdentityProvider'; +import jwt from 'jsonwebtoken'; import { RequestHandler } from 'express'; -import jwt, { VerifyErrors } from 'jsonwebtoken'; declare global { // eslint-disable-next-line @typescript-eslint/no-namespace @@ -135,7 +135,7 @@ class Limes { algorithms: [ 'RS256' ], issuer: identityProvider.issuer }, - (err: VerifyErrors | null, verifiedToken: Record | undefined): void => { + (err, verifiedToken): void => { if (err) { this.logger.error(err.message); @@ -178,7 +178,9 @@ class Limes { authorizationQuery = req.query.token; if (typeof authorizationQuery !== 'string' && typeof authorizationQuery !== 'undefined') { - return res.status(400).end(); + res.status(400).end(); + + return; } if (authorizationHeader) { @@ -201,7 +203,9 @@ class Limes { this.logger.error(ex.message); } - return res.status(401).end(); + res.status(401).end(); + + return; } } else { const payload = { @@ -216,7 +220,9 @@ class Limes { subject += `-${req.headers['x-anonymous-id']}`; } else if (anonymousId) { if (typeof anonymousId !== 'string') { - return res.status(400).end(); + res.status(400).end(); + + return; } subject += `-${anonymousId}`; @@ -232,7 +238,9 @@ class Limes { if (!decodedToken) { this.logger.error('Failed to verify token.'); - return res.status(400).end(); + res.status(400).end(); + + return; } /* eslint-disable no-param-reassign */ diff --git a/package-lock.json b/package-lock.json index 7db1172..0508361 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,11 +5,12 @@ "requires": true, "packages": { "": { + "name": "limes", "version": "6.1.9", "license": "MIT", "dependencies": { "@types/express": "4.17.13", - "@types/jsonwebtoken": "8.5.6", + "@types/jsonwebtoken": "8.5.8", "jsonwebtoken": "8.5.1" }, "devDependencies": { @@ -17,7 +18,7 @@ "@types/uuid": "8.3.4", "assertthat": "6.4.0", "express": "4.17.2", - "flaschenpost": "5.0.49", + "flaschenpost": "5.0.50", "roboter": "12.6.5", "semantic-release-configuration": "2.0.7", "supertest": "6.2.2", @@ -1309,17 +1310,17 @@ "dev": true }, "node_modules/@types/jsonwebtoken": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.6.tgz", - "integrity": "sha512-+P3O/xC7nzVizIi5VbF34YtqSonFsdnbXBnWUCYRiKOi1f9gA4sEFvXkrGr/QVV23IbMYvcoerI7nnhDUiWXRQ==", + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/lodash": { - "version": "4.14.172", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz", - "integrity": "sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw==", + "version": "4.14.178", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", + "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", "dev": true }, "node_modules/@types/mime": { @@ -1346,9 +1347,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.1.tgz", - "integrity": "sha512-Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw==" + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", + "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -1443,9 +1444,9 @@ "dev": true }, "node_modules/@types/stringify-object": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/stringify-object/-/stringify-object-3.3.1.tgz", - "integrity": "sha512-bpCBW0O+QrMLNFBY/+rkZtGzcYRmc2aTD8qYHOMNUmednqETfEZtFcGEA11l9xqbIeiT1PgXG0eq3zqayVzZSQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/stringify-object/-/stringify-object-4.0.1.tgz", + "integrity": "sha512-IBlbUGpI7FoWWr1FHQDntMkA7nCEI7Hox/hmwgWgRqohV7SRRkbWB86PayOX++NwtJTapQ8wIs7XtEp4fXonwA==", "dev": true }, "node_modules/@types/superagent": { @@ -3175,9 +3176,9 @@ } }, "node_modules/date-fns": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.23.0.tgz", - "integrity": "sha512-5ycpauovVyAk0kXNZz6ZoB9AYMZB4DObse7P3BPWmyEjXNORTI8EJ6X0uaSAq4sCHzM1uajzrkr6HnsLQpxGXA==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", + "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", "dev": true, "engines": { "node": ">=0.11" @@ -4421,22 +4422,22 @@ } }, "node_modules/flaschenpost": { - "version": "5.0.49", - "resolved": "https://registry.npmjs.org/flaschenpost/-/flaschenpost-5.0.49.tgz", - "integrity": "sha512-J0/YV2YmKhuoUp05/WPoen60msr2MYuIKebFtzt2ttEpZ9bDpytIeExEYyL7ihRdlN6fz93rkONFmd50a21aFA==", + "version": "5.0.50", + "resolved": "https://registry.npmjs.org/flaschenpost/-/flaschenpost-5.0.50.tgz", + "integrity": "sha512-PLHUxb/jLS6peXITtfkIYL7zGT97iKQnJWF3KkmsXRMQAK/2Ke/dBQ5AUYbVE2CgE89fNrkh0L0N5k8arpgNSw==", "dev": true, "dependencies": { "@types/app-root-path": "1.2.4", "@types/express": "4.17.13", "@types/find-root": "1.1.2", - "@types/lodash": "4.14.172", - "@types/node": "16.6.1", + "@types/lodash": "4.14.178", + "@types/node": "17.0.10", "@types/on-finished": "2.3.1", "@types/stack-trace": "0.0.29", - "@types/stringify-object": "3.3.1", + "@types/stringify-object": "4.0.1", "app-root-path": "3.0.0", "chalk": "4.1.2", - "date-fns": "2.23.0", + "date-fns": "2.28.0", "find-root": "1.1.0", "lodash": "4.17.21", "on-finished": "2.3.0", @@ -13384,17 +13385,17 @@ "dev": true }, "@types/jsonwebtoken": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.6.tgz", - "integrity": "sha512-+P3O/xC7nzVizIi5VbF34YtqSonFsdnbXBnWUCYRiKOi1f9gA4sEFvXkrGr/QVV23IbMYvcoerI7nnhDUiWXRQ==", + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", "requires": { "@types/node": "*" } }, "@types/lodash": { - "version": "4.14.172", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz", - "integrity": "sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw==", + "version": "4.14.178", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", + "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", "dev": true }, "@types/mime": { @@ -13421,9 +13422,9 @@ "dev": true }, "@types/node": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.1.tgz", - "integrity": "sha512-Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw==" + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", + "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -13518,9 +13519,9 @@ "dev": true }, "@types/stringify-object": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/stringify-object/-/stringify-object-3.3.1.tgz", - "integrity": "sha512-bpCBW0O+QrMLNFBY/+rkZtGzcYRmc2aTD8qYHOMNUmednqETfEZtFcGEA11l9xqbIeiT1PgXG0eq3zqayVzZSQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/stringify-object/-/stringify-object-4.0.1.tgz", + "integrity": "sha512-IBlbUGpI7FoWWr1FHQDntMkA7nCEI7Hox/hmwgWgRqohV7SRRkbWB86PayOX++NwtJTapQ8wIs7XtEp4fXonwA==", "dev": true }, "@types/superagent": { @@ -14809,9 +14810,9 @@ "dev": true }, "date-fns": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.23.0.tgz", - "integrity": "sha512-5ycpauovVyAk0kXNZz6ZoB9AYMZB4DObse7P3BPWmyEjXNORTI8EJ6X0uaSAq4sCHzM1uajzrkr6HnsLQpxGXA==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", + "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", "dev": true }, "dateformat": { @@ -15785,22 +15786,22 @@ } }, "flaschenpost": { - "version": "5.0.49", - "resolved": "https://registry.npmjs.org/flaschenpost/-/flaschenpost-5.0.49.tgz", - "integrity": "sha512-J0/YV2YmKhuoUp05/WPoen60msr2MYuIKebFtzt2ttEpZ9bDpytIeExEYyL7ihRdlN6fz93rkONFmd50a21aFA==", + "version": "5.0.50", + "resolved": "https://registry.npmjs.org/flaschenpost/-/flaschenpost-5.0.50.tgz", + "integrity": "sha512-PLHUxb/jLS6peXITtfkIYL7zGT97iKQnJWF3KkmsXRMQAK/2Ke/dBQ5AUYbVE2CgE89fNrkh0L0N5k8arpgNSw==", "dev": true, "requires": { "@types/app-root-path": "1.2.4", "@types/express": "4.17.13", "@types/find-root": "1.1.2", - "@types/lodash": "4.14.172", - "@types/node": "16.6.1", + "@types/lodash": "4.14.178", + "@types/node": "17.0.10", "@types/on-finished": "2.3.1", "@types/stack-trace": "0.0.29", - "@types/stringify-object": "3.3.1", + "@types/stringify-object": "4.0.1", "app-root-path": "3.0.0", "chalk": "4.1.2", - "date-fns": "2.23.0", + "date-fns": "2.28.0", "find-root": "1.1.0", "lodash": "4.17.21", "on-finished": "2.3.0", diff --git a/package.json b/package.json index 538c6e4..98d2851 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "types": "build/lib/Limes.d.ts", "dependencies": { "@types/express": "4.17.13", - "@types/jsonwebtoken": "8.5.6", + "@types/jsonwebtoken": "8.5.8", "jsonwebtoken": "8.5.1" }, "devDependencies": { @@ -33,7 +33,7 @@ "@types/uuid": "8.3.4", "assertthat": "6.4.0", "express": "4.17.2", - "flaschenpost": "5.0.49", + "flaschenpost": "5.0.50", "roboter": "12.6.5", "semantic-release-configuration": "2.0.7", "supertest": "6.2.2",