Встречается на собеседованиях • сегодня

Как написать API для авторизации

Для авторизации на фронтенде обычно используют JWT (JSON Web Token) или сессии. Пример реализации с JWT:

  1. Отправляем запрос на сервер с логином/паролем:
javascript
const response = await fetch('/api/auth/login', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ email, password })
});
  1. Получаем токен и сохраняем:
javascript
const { token } = await response.json();
localStorage.setItem('token', token);
  1. Добавляем токен в заголовки последующих запросов:
javascript
fetch('/api/protected', {
  headers: { 'Authorization': `Bearer ${token}` }
});
  1. На сервере проверяем токен в middleware:
javascript
const jwt = require('jsonwebtoken');

function authMiddleware(req, res, next) {
  const token = req.headers.authorization?.split(' ')[1];
  if (!token) return res.sendStatus(401);
  
  try {
    req.user = jwt.verify(token, 'SECRET_KEY');
    next();
  } catch {
    return res.sendStatus(403);
  }
}

Важно: используйте HTTPS, HttpOnly cookies для хранения токенов, и реализуйте refresh tokens для продления сессии.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы