diff --git a/server/routes/federation.js b/server/routes/federation.js index 40fa1d3..45cd975 100644 --- a/server/routes/federation.js +++ b/server/routes/federation.js @@ -118,12 +118,15 @@ router.post('/receive', async (req, res) => { } const signature = req.headers['x-federation-signature']; - const payload = req.body; + const payload = req.body || {}; if (!signature) { return res.status(401).json({ error: 'Missing federation signature' }); } + // Extract expected fields from the incoming payload + const { invite_id, from_user, to_user, room_name, message, join_url } = payload; + if (!invite_id || !from_user || !to_user || !room_name || !join_url) { return res.status(400).json({ error: 'Incomplete invitation payload' }); }