StudyCode
К практике
СреднийHeadersAuthorizationBearer Token
СреднийHeadersAuthorizationBearer Token

Авторизация через Headers

Читаем Bearer-токен из заголовка Authorization и проверяем доступ.

Нажми на любой элемент диаграммы для объяснения
Шаг 1 из 3
1

HTTP-заголовки

Заголовки передают метаданные запроса. В Express читаются через req.headers:

req.headers['authorization'] — строка вида "Bearer mytoken123"

Паттерн Bearer Token: клиент хранит токен и отправляет его в каждом запросе. Сервер проверяет его.

Заголовки в Node.js всегда в нижнем регистре: authorization, не Authorization.

javascript
const VALID_TOKENS = {
  'mytoken123': { id: 1, name: 'Алиса', role: 'Frontend' },
  'devtoken456': { id: 2, name: 'Боб',   role: 'Backend'  },
};

app.get('/me', (req, res) => {
  const token = extractToken(req.headers['authorization']); // ← шаг 1

  if (!token) return res.status(401).json({ error: 'No token' });

  const user = verifyToken(token, VALID_TOKENS); // ← шаг 2

  if (!user) return res.status(403).json({ error: 'Invalid token' });

  res.json(user);
});