Fix JWT renewal over websocket

This commit is contained in:
D. Berge
2025-07-25 14:21:26 +02:00
parent 48e1369088
commit 302642f88d

View File

@@ -16,19 +16,20 @@ function start (server, pingInterval=30000) {
try { try {
const payload = JSON.parse(message); const payload = JSON.parse(message);
if (payload?.jwt) { if (payload?.jwt) {
// console.log("Refresh JWT token", payload); jwt.checkValidCredentials({jwt: payload.jwt}).then( decoded => {
const decoded = jwt.checkValidCredentials({jwt: payload.jwt}); // console.log("Decoded", decoded);
// console.log("Decoded", decoded); if (decoded) {
if (decoded) { console.log("Renewing JWT via websocket");
delete decoded.exp; delete decoded.exp;
const token = jwt.issue(decoded); const token = jwt.issue(decoded);
socket.send(JSON.stringify({ socket.send(JSON.stringify({
channel: ".jwt", channel: ".jwt",
payload: { payload: {
token token
} }
})); }));
} }
});
} }
} catch (err) { } catch (err) {
console.warn("Websocket message decoding failed", err); console.warn("Websocket message decoding failed", err);