/
kashmov
/
api-library-lr2
Обзор
Документация
Войти
/
kashmov
/
api-library-lr2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/middleware/apiKey.js
19 строк
616 B
kashmov
upload files
25 сен 2025, 10:32
25 сен 2025, 10:32
2890114
Код
Авторство
О чём код?
export default function requireApiKey(req, res, next) { const provided = req.header('X-API-Key'); const expected = process.env.INTERNAL_API_KEY; if (!expected || provided !== expected) { return res.status(401).json({ error: 'Invalid or missing API key' }); } const wl = (process.env.INTERNAL_IP_WHITELIST || '') .split(',') .map(s => s.trim()) .filter(Boolean); if (wl.length) { const ip = (req.ip || '').replace('::ffff:', ''); if (!wl.includes(ip) && !wl.includes('*')) { return res.status(403).json({ error: 'IP not allowed' }); } } next(); }