diff --git a/backend/middleware/auth.js b/backend/middleware/auth.js index 76123b5..5fdf166 100644 --- a/backend/middleware/auth.js +++ b/backend/middleware/auth.js @@ -50,14 +50,24 @@ const ensureUserSettings = async (user) => { const authenticate = async (req, res, next) => { try { const authHeader = req.headers.authorization || ''; + let initDataRaw = null; - if (!authHeader.startsWith('tma ')) { + if (authHeader.startsWith('tma ')) { + initDataRaw = authHeader.slice(4).trim(); + } + + if (!initDataRaw) { + const headerInitData = req.headers['x-telegram-init-data']; + if (headerInitData && typeof headerInitData === 'string') { + initDataRaw = headerInitData.trim(); + } + } + + if (!initDataRaw) { logSecurityEvent('AUTH_TOKEN_MISSING', req); return res.status(401).json({ error: OFFICIAL_CLIENT_MESSAGE }); } - const initDataRaw = authHeader.slice(4).trim(); - if (!initDataRaw) { logSecurityEvent('EMPTY_INITDATA', req); return res.status(401).json({ error: OFFICIAL_CLIENT_MESSAGE }); diff --git a/frontend/index.html b/frontend/index.html index 53ed8b4..88eb600 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -6,7 +6,21 @@ NakamaHost - +