Я создал 2 промежуточных ПО, они authenticate.js
и redirectedIfAuthenticated.js
, поэтому я хочу создать оптимизированное и масштабируемое промежуточное ПО для них, но я не знаю, правильно ли это уже или нет.Вот они:
./app/middleware/authenticate.js
'use strict';
import jwt from 'jsonwebtoken';
export default (req, res, next) => {
jwt.verify(req.headers['x-access-token'], req.app.get('secretKey'), (err, decoded) => {
if (err) {
res.status(400).send({
status: 'Error',
message: err.message,
data: null
});
} else {
req.body.id = decoded.id;
next();
}
});
}
./app/middleware/redirectedIfAuthenticated.js
'use strict';
import jwt from 'jsonwebtoken';
export default (req, res, next) => {
jwt.verify(req.headers['x-access-token'], req.app.get('secretKey'), (err, decoded) => {
if (err) {
next();
} else {
res.status(400).send({
message: 'User already login',
});
}
});
};
./routes/index.js
'use strict';
import AuthenticateMiddleware from './../app/middleware/authenticate';
import redirectedIfAuthenticated from './../app/middleware/redirectedIfAuthenticated';
import express from 'express';
import AuthRoutes from './auth';
import UserRoutes from './user';
const app = express();
app.use('/auth', redirectedIfAuthenticated, AuthRoutes);
app.use('/user', AuthenticateMiddleware, UserRoutes);
app.all('*', (req, res) => {
res.status(404).send({
message: `${req} not found`
});
});
export default app;
Вопрос в том, чтоя делаю уже правильно?для AuthRoutes
?потому что я немного странно себя чувствую из-за своего кода.кстати они отлично работают