Sobes.tech
Назад к вопросам
Middle+
2

Реализовывал ли авторизацию? Как работал с токенами?

Компании, где спрашивали
Evocargo

Ответ от нейросети

sobes.tech AI

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

Основная схема работы с токенами:

  1. Пользователь вводит логин и пароль.
  2. Сервер проверяет данные и, если они корректны, генерирует JWT с нужными правами и сроком действия.
  3. Токен отправляется клиенту, который сохраняет его (например, в localStorage или cookie).
  4. При последующих запросах клиент добавляет токен в заголовок Authorization: Bearer <token>.
  5. Сервер проверяет валидность токена и, если всё в порядке, разрешает доступ к защищённым ресурсам.

Пример проверки токена на фронтенде (React):

const token = localStorage.getItem('token');
fetch('/api/protected', {
  headers: {
    'Authorization': `Bearer ${token}`
  }
})
.then(response => {
  if (response.status === 401) {
    // перенаправить на страницу логина
  }
  return response.json();
})
.then(data => console.log(data));

Важно также реализовать обновление токенов (refresh tokens) для поддержания сессии без повторного логина и защиту от XSS/CSRF атак.