From b8e53c1eb0111604ace273c4334c96fef0bd655d Mon Sep 17 00:00:00 2001 From: ScriptSorcerer20 Date: Thu, 17 Apr 2025 09:24:19 +0200 Subject: [PATCH] Login works somehow --- gambling.js | 26 ++++++++++++++++++-------- swagger.js | 10 +++++++++- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/gambling.js b/gambling.js index e22131e..c442bcd 100644 --- a/gambling.js +++ b/gambling.js @@ -36,7 +36,11 @@ function generateAccessToken(user) { } function authenticateToken(request, response, next) { - const authHeader = request.headers["authorization"]; + /* #swagger.security = [{ + "bearerAuth": [] +}] */ + const authHeader = request.headers.authorization; + console.log(authHeader); const token = authHeader && authHeader.split(" ")[1]; if (token == null) return response.sendStatus(401); @@ -56,9 +60,9 @@ function authenticateToken(request, response, next) { } app.post("/register", (request, response) => { - const { username } = request.body; - if (!username) - return response.status(400).json({ error: "Username is required" }); + const { username, password } = request.body; + if (!username && !password) + return response.status(400).json({ error: "Username and password are required" }); const users = get_data(); if (users.some(u => u.username === username)) { @@ -66,20 +70,23 @@ app.post("/register", (request, response) => { } const token = generateAccessToken({ username }); - saveUser({ username, token }); + saveUser({ username, password, token }); response.json({ username, token }); }); app.post("/login", (request, response) => { - const { username } = request.body; - if (!username) - return response.status(400).json({ error: "Username is required" }); + const { username, password } = request.body; + if (!username && !password) + return response.status(400).json({ error: "Username and password are required" }); const users = get_data(); const user = users.find(u => u.username === username); if (!user) return response.status(401).json({ error: "Invalid credentials" }); + if (user.password !== password) { + response.status(401).json({ error: "Invalid password" }); + } const token = generateAccessToken({ username }); user.token = token; @@ -89,6 +96,9 @@ app.post("/login", (request, response) => { }); app.get("/", authenticateToken, (request, response) => { + /* #swagger.security = [{ + "bearerAuth": [] + }] */ response.sendFile(path.join(__dirname, "structure.png")); }); diff --git a/swagger.js b/swagger.js index e7b07b5..89d0c84 100644 --- a/swagger.js +++ b/swagger.js @@ -5,7 +5,15 @@ const doc = { title: 'GAMBLE!', description: 'Gambling API' }, - host: 'localhost:3000' + host: 'localhost:3000', + components: { + securitySchemes:{ + bearerAuth: { + type: 'http', + scheme: 'bearer' + } + } + } }; const outputFile = './swagger.json';