Назад к вопросам
Middle+
2
Реализовывал ли авторизацию? Как работал с токенами?
Компании, где спрашивали
Evocargo
Ответ от нейросети
sobes.tech AI
Да, реализовывал авторизацию, чаще всего использовал JWT (JSON Web Token) для управления сессиями.
Основная схема работы с токенами:
- Пользователь вводит логин и пароль.
- Сервер проверяет данные и, если они корректны, генерирует JWT с нужными правами и сроком действия.
- Токен отправляется клиенту, который сохраняет его (например, в localStorage или cookie).
- При последующих запросах клиент добавляет токен в заголовок Authorization: Bearer <token>.
- Сервер проверяет валидность токена и, если всё в порядке, разрешает доступ к защищённым ресурсам.
Пример проверки токена на фронтенде (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 атак.