File: /home2/yenicep/garantili-kasko/middleware/auth.js
const jwt = require('jsonwebtoken');
const createPoliceRoute = require('../routes/hdi/create-police-route');
const mobilExpresRoute = require('../routes/mobil-expres/mobil-expres-route');
const mobileApiGetPoliceRoute = require('../mobile/routes/get-police-info');
const conn = require('../core/util/conn');
const query = require('../core/util/query/kaskolu-cihazlar-queries');
module.exports = function (app) {
const checkToken = (req, res, next) => {
let token = req.headers['x-access-token'] || req.headers['authorization'];
if (token === undefined) {
return res.status(401).send({ error: 'Token is not created.' });
}
if (token.startsWith('Bearer ')) {
token = token.slice(7, token.length);
}
if (token) {
jwt.verify(token, "mysecret", (err, decoded) => {
if (err) return res.json({ success: false, message: 'Invalid token.' });
else {
req.decoded = decoded;
next();
}
});
} else {
return res.json({
success: false,
message: 'Invalid token.'
});
}
};
app.post('/api/sigorta/auth', async (req, res) => {
const username = req.body.username;
const password = req.body.password;
conn.query(query.GET_AUTH(username), (err, results) => {
if (results[0].username === username && results[0].password === password) {
const token = jwt.sign({ userName: username, role: 'admin' }, 'mysecret', { expiresIn: '24h' });
return res.status(200).send({ token: token });
} else if (results[0].password !== password) {
return res.status(401).send({ error: "Invalid user password." });
}
return res.status(401).send({ error: "Invalid user." });
});
});
app.get('/sigorta', (req, res) => {
res.send('Hello world');
});
app.use('/sigorta', createPoliceRoute);
app.use('/sigorta/odeme', mobilExpresRoute);
app.use('/api/sigorta', checkToken, mobileApiGetPoliceRoute);
}