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

Как организовал работу по реализации авторизации

Для реализации авторизации обычно использую JWT (JSON Web Tokens) в связке с защищенными HTTP-Only куками. 1. **Логин**: - POST-запрос с логином/паролем на бэкенд - Бэкенд возвращает JWT токен, который сохраняется в HTTP-Only куку (защита от XSS) 2. **Хранение состояния**: - Использую React Context или Redux для хранения флага `isAuthenticated` - При первом рендере проверяю наличие токена (например, через `/auth/me` эндпоинт) 3. **Защита роутов**: - Обертка для приватных роутов (``), которая редиректит на `/login`, если нет авторизации Пример кода проверки токена: ```javascript // Проверка авторизации при загрузке приложения useEffect(() => { const checkAuth = async () => { try { await axios.get('/auth/me', { withCredentials: true }); setAuthenticated(true); } catch { setAuthenticated(false); } }; checkAuth(); }, []); ``` 4. **Логаут**: - Очистка кук (через бэкенд) и сброс состояния в хранилище Для безопасности добавляю CSRF-токены, если бэкенд требует.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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