diff --git a/Server/.env b/Server/.env index ca67303..a995635 100644 --- a/Server/.env +++ b/Server/.env @@ -1 +1,2 @@ -PRIVATE_KEY = \ No newline at end of file +PUBLIC_KEY= +PRIVATE_KEY= \ No newline at end of file diff --git a/Server/.gitignore b/Server/.gitignore new file mode 100644 index 0000000..c3a2b5f --- /dev/null +++ b/Server/.gitignore @@ -0,0 +1,2 @@ +node_modules +*.lock \ No newline at end of file diff --git a/Server/index.js b/Server/index.js index 1490c45..ccd800f 100644 --- a/Server/index.js +++ b/Server/index.js @@ -1,32 +1,33 @@ const dotenv = require('dotenv'); const express = require('express'); -const router = express.Router(); -var cors = require('cors'); +const jwt = require('jsonwebtoken'); const app = express(); -app.use(cors()); +const cors = require('cors'); dotenv.config(); -const uuid = require('uuid'); -const crypto = require("crypto"); +app.use(cors()); +app.use(express.json()); +const publicKey = process.env.PUBLIC_KEY; const privateKey = process.env.PRIVATE_KEY; -router.get("/auth", function(req, res) { - var token = req.query.token || uuid.v4(); - var expire = req.query.expire || parseInt(Date.now()/1000)+2400; - var privateAPIKey = `${privateKey}`; - var signature = crypto.createHmac('sha1', privateAPIKey).update(token+expire).digest('hex'); - res.status(200); - res.send({ - token : token, - expire : expire, - signature : signature - }); +app.post("/auth", function (req, res) { + const token = jwt.sign( + req.body.uploadPayload, + privateKey, + { + expiresIn: req.body.expire, + header: { + alg: "HS256", + typ: "JWT", + kid: publicKey, + }, + }) + res.status(200); + res.send({ token }); }); -app.use("/",router); - -app.listen(8080,function(){ +app.listen(8080, function () { console.log("Live at Port 8080"); }); \ No newline at end of file diff --git a/Server/package.json b/Server/package.json index da3a478..1b72884 100644 --- a/Server/package.json +++ b/Server/package.json @@ -7,6 +7,7 @@ "cors": "^2.8.5", "dotenv": "^8.2.0", "express": "^4.17.1", + "jsonwebtoken": "^9.0.2", "uuid": "^8.3.0" } }