mirror of
https://github.com/codex-team/codex.docs.git
synced 2025-07-19 13:19:42 +02:00
Typescript rewrite (#147)
* Updated highlight.js * Update .codexdocsrc.sample remove undefined page for a fresh new install * backend rewritten in TS * test -> TS, .added dockerignore, bug fixed * Removed compiled js files, eslint codex/ts added * fixed jsdocs warning, leaving editor confirmation * use path.resolve for DB paths * db drives updated + fixed User model * redundant cleared + style fixed * explicit type fixing * fixing testing code * added body block type * compiled JS files -> dist, fixed compiling errors * fixed compiling error, re-organized ts source code * updated Dockerfile * fixed link to parent page * up nodejs version * fix package name * fix deps Co-authored-by: nvc8996 <nvc.8996@gmail.com> Co-authored-by: Taly <vitalik7tv@yandex.ru>
This commit is contained in:
parent
059cfb96f9
commit
34514761f5
99 changed files with 3817 additions and 2249 deletions
38
src/backend/routes/middlewares/token.ts
Normal file
38
src/backend/routes/middlewares/token.ts
Normal file
|
@ -0,0 +1,38 @@
|
|||
import * as dotenv from 'dotenv';
|
||||
import config from 'config';
|
||||
import { NextFunction, Request, Response } from 'express';
|
||||
import jwt from 'jsonwebtoken';
|
||||
import Users from '../../controllers/users';
|
||||
|
||||
dotenv.config();
|
||||
|
||||
/**
|
||||
* Middleware for checking jwt token
|
||||
*
|
||||
* @param req - request object
|
||||
* @param res - response object
|
||||
* @param next - next function
|
||||
*/
|
||||
export default async function verifyToken(req: Request, res: Response, next: NextFunction): Promise<void> {
|
||||
const token = req.cookies.authToken;
|
||||
|
||||
try {
|
||||
const userDoc = await Users.get();
|
||||
|
||||
if (!userDoc.passHash) {
|
||||
res.locals.isAuthorized = false;
|
||||
next();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const decodedToken = jwt.verify(token, userDoc.passHash + config.get('secret'));
|
||||
|
||||
res.locals.isAuthorized = !!decodedToken;
|
||||
|
||||
next();
|
||||
} catch (err) {
|
||||
res.locals.isAuthorized = false;
|
||||
next();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue