mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-08-12 10:48:41 +00:00
Finalizes option to secure backend http endpoints with a token
- Also fixes to build commands in makefile
This commit is contained in:
10
src/app.ts
10
src/app.ts
@ -14,9 +14,15 @@ const server = http.createServer(app);
|
||||
|
||||
const corsOptions = {
|
||||
origin: '*',
|
||||
allowedHeaders: ['Authorization', 'Content-Type'],
|
||||
};
|
||||
|
||||
app.use(cors(corsOptions));
|
||||
|
||||
if (getAccessKey()) {
|
||||
app.all('*', requireAccessKey);
|
||||
};
|
||||
|
||||
app.use(express.json());
|
||||
|
||||
app.use('/api', routes);
|
||||
@ -24,10 +30,6 @@ app.get('/api', (_, res) => {
|
||||
res.status(200).json({ status: 'ok' });
|
||||
});
|
||||
|
||||
if (getAccessKey()) {
|
||||
app.all('*', requireAccessKey);
|
||||
};
|
||||
|
||||
server.listen(port, () => {
|
||||
logger.info(`Server is running on port ${port}`);
|
||||
});
|
||||
|
@ -1,8 +1,8 @@
|
||||
import {
|
||||
getAccessKey,
|
||||
} from '../config';
|
||||
} from './config';
|
||||
|
||||
const requireAccessKey = (req, res, next) => {
|
||||
export const requireAccessKey = (req, res, next) => {
|
||||
const authHeader = req.headers.authorization;
|
||||
|
||||
if (authHeader) {
|
||||
@ -11,6 +11,7 @@ const requireAccessKey = (req, res, next) => {
|
||||
if (token !== getAccessKey()) {
|
||||
return res.sendStatus(403);
|
||||
}
|
||||
|
||||
next();
|
||||
} else {
|
||||
res.sendStatus(401);
|
||||
|
Reference in New Issue
Block a user