From 73adb48d4fb10dd3dca3498104079a662bb45eec Mon Sep 17 00:00:00 2001 From: StarAppeal Date: Fri, 22 Nov 2024 15:14:03 +0100 Subject: [PATCH] use cors locally --- package-lock.json | 57 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 4 +++- src/index.ts | 8 +++++++ 3 files changed, 68 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 44961f3..44c5f29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@types/jsonwebtoken": "^9.0.5", "@types/node": "^20.11.19", "@types/ws": "^8.5.10", + "cors": "^2.8.5", "dotenv": "^16.4.4", "express": "5.0.0", "jsonwebtoken": "^9.0.2", @@ -22,6 +23,7 @@ "ws": "8.17.1" }, "devDependencies": { + "@types/cors": "^2.8.17", "prettier": "^3.2.5" } }, @@ -75,6 +77,16 @@ "@types/node": "*" } }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", @@ -402,6 +414,19 @@ "node": ">=6.6.0" } }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -1111,6 +1136,15 @@ "node": ">= 0.6" } }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.13.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", @@ -1908,6 +1942,15 @@ "@types/node": "*" } }, + "@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", @@ -2165,6 +2208,15 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==" }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, "cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2647,6 +2699,11 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==" }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, "object-inspect": { "version": "1.13.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", diff --git a/package.json b/package.json index b714061..a78b925 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "main": "index.js", "scripts": { "start": "node dist/index.js", - "start-local": "tsc && node dist/index.js", + "start-local": "tsc && NODE_ENV=development node dist/index.js", "clean": "rimraf dist", "build": "npm run clean & tsc", "test": "echo \"Error: no test specified, please add them later\"" @@ -18,6 +18,7 @@ "@types/jsonwebtoken": "^9.0.5", "@types/node": "^20.11.19", "@types/ws": "^8.5.10", + "cors": "^2.8.5", "dotenv": "^16.4.4", "express": "5.0.0", "jsonwebtoken": "^9.0.2", @@ -27,6 +28,7 @@ "ws": "8.17.1" }, "devDependencies": { + "@types/cors": "^2.8.17", "prettier": "^3.2.5" } } diff --git a/src/index.ts b/src/index.ts index fabecaa..58b2e39 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,6 +5,7 @@ import { UserService } from "./db/services/database.service"; import { RestUser } from "./rest/restUser"; import { authenticateJwt } from "./rest/middleware/authenticateJwt"; import { JwtTokenPropertiesExtractor } from "./rest/jwtTokenPropertiesExtractor"; +import cors from "cors"; const app = express(); const port = process.env.PORT || 3000; @@ -12,6 +13,13 @@ const server = app.listen(port, () => { console.log(`Server is running on port ${port}`); }); +if (process.env.NODE_ENV === "development") { + console.log("development"); + app.use(cors({ + origin: 'http://localhost:8081', // Erlaube Anfragen von http://localhost:8081 + })); +} + app.use(express.json({ limit: "15mb" })); const webSocketServer = new ExtendedWebSocketServer(server);