From bbd47554c140db76b72ac02a214d3337f95f5ac0 Mon Sep 17 00:00:00 2001 From: kar Date: Thu, 14 Mar 2024 15:20:10 +0000 Subject: [PATCH] Add index.js --- index.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 index.js diff --git a/index.js b/index.js new file mode 100644 index 0000000..d5791ae --- /dev/null +++ b/index.js @@ -0,0 +1,32 @@ +const express = require('express') +const dotenv = require('dotenv'); +const jwt = require('jsonwebtoken'); +const fs = require('fs'); +const cors = require('cors') +const app = express() +let corsOptions = fs.readFileSync('origin.cors'); +app.use(cors(corsOptions)); +dotenv.config(); +let port = process.env.PORT || 5000; +app.get('/*', (req, res, next) => { +try { +const token = req.query.access_token; +var public_key = fs.readFileSync('id_rsa.pub'); +const verified = jwt.verify(token, public_key, { algorithms: 'RS512'}); +if(verified){ +var path = require('path'); +let file = req.params[0]; +return res.sendFile(file, { root: path.join(__dirname, '../') }); +}else{ +// Access Denied +return res.status(401).send(error); +} +} catch (error) { +// JsonWebTokenError @invalid token +return res.status(400).send(error); +} +}) + +app.listen(port, () => { +console.log(`FileAccessJWT API listening on port ${port}`) +})