🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🔧 AI Nachrichten ChatGPT automatically logged out [Fix](12.09.2026 um 17:09 Uhr)
⚠️ Malware / Trojaner / VirenWindows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC(10.09.2026 um 20:11 Uhr)
🪟 Windows TippsServertimeout in Outlook über 10 Minuten verlängern(12.09.2026 um 15:10 Uhr)
🪟 Windows ServerSchatten-KI: Verborgene Sicherheitsrisiken minimieren - BornCity(13.09.2026 um 00:31 Uhr)
🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🔧 AI Nachrichten ChatGPT automatically logged out [Fix](12.09.2026 um 17:09 Uhr)
⚠️ Malware / Trojaner / VirenWindows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC(10.09.2026 um 20:11 Uhr)
🪟 Windows TippsServertimeout in Outlook über 10 Minuten verlängern(12.09.2026 um 15:10 Uhr)
🪟 Windows ServerSchatten-KI: Verborgene Sicherheitsrisiken minimieren - BornCity(13.09.2026 um 00:31 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 2 Min Lesezeit
0

Generate JWT TOKEN and validate from DB

↗ Quelle (dev.to)
🗣️ Stimme:

CODE
const jwt = require('jsonwebtoken');
const decryption = require('../config/crypto');

var sqlPool = require('../model/dbPool');


const executeQuery = async query => {
try {
const pool = await sqlPool.executeQueryone(query);
return pool;
} catch (error) {
console.log(error);
throw error;
}
};

const val = value => {
if (value) {
return "'" + value + "'";
} else {
return 'NULL';
}
};


exports.validateTokenInDB = async function (req, res, next) {
const bearerHeader = req.headers['authorization'];

// Check if the authorization header exists
if (typeof bearerHeader !== 'undefined') {
const bearer = bearerHeader.split(' ');
const bearerToken = bearer[1];

console.log(`Received token: ${bearerToken}`);
req.token = bearerToken;

let decryptedToken;
try {
// Decrypt the token to extract payload
decryptedToken = await decryption.CareerDecrypt(req.token);
console.log(`Decrypted token payload: ${decryptedToken}`);

// Verify and decode the JWT
const decodedToken = jwt.decode(decryptedToken, { complete: true });

console.log("kkk:",decodedToken.payload.EmpId)
if (!decodedToken || !decodedToken.payload) {
return res.status(403).json({ message: 'Invalid Token' });
}

const { EmpId } = decodedToken.payload;

if (!EmpId) {
return res.status(403).json({ message: 'Invalid Token - EMPL_ID not found' });
}

try {
const query1 = `
EXEC proc_verifytoken
@EMPL_ID=${EmpId},
@token='${bearerToken}'
`;

const recordset = await executeQuery(query1);
console.log({ recordset });

if (!recordset || recordset.length === 0) {
return res.status(403).json({ message: 'Session Expired' });
}

next(); // Proceed if validation is successful
} catch (error) {
console.error('Database validation error:', error);
return res.status(500).json({ message: 'Internal Server Error' });
}
} catch (error) {
console.error('Token decryption or decoding error:', error);
return res.status(400).json({ message: 'Invalid Token' });
}
} else {
res.sendStatus(403); // Forbidden if no token is provided
}
};

exports.signAndEncryptJWT = async empid => {
let payloadJwt = {
EmpId: empid,
};

// let payloadJwt = {
// EmpId: 482090,
// };

return new Promise((resolve, reject) => {
let encrypt;
jwt.sign(payloadJwt, process.env.JWT_SECRET, { expiresIn: '1d', algorithm: 'HS256' }, async (err, token) => {
if (err) {
return reject(err);
}

if (token) {
// console.log(token);

encrypt = await decryption.CareerEncrypt(token);
return resolve(encrypt);
} else {
return reject(false);
}
});
});
};


Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
The Gemini desktop app is now available for Windows
1 Quelle
ChatGPT automatically logged out [Fix]
1 Quelle
Windows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Generate JWT TOKEN and validate from DB

Thematisch verwandte Begriffe: Generate, TOKEN, validate, from · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...