Встречается на собеседованиях • сегодня
Спроектируй взаимодействие с API при двухфакторной аутентификации
Для 2FA обычно используется следующий flow:
- Пользователь вводит логин/пароль → POST
/auth/loginс{email, password} - Сервер отвечает
401с{ requires2FA: true }и временным токеном - Фронт показывает поле для кода из SMS/приложения
- Пользователь вводит код → POST
/auth/verify-2faс{ tempToken, code } - При успехе сервер возвращает
200с JWT токеном
Пример на React:
jsx
async function login(email, password) {
const res = await fetch('/auth/login', {
method: 'POST',
body: JSON.stringify({ email, password })
});
if (res.status === 401) {
const { requires2FA, tempToken } = await res.json();
if (requires2FA) return { requires2FA, tempToken };
}
return await res.json();
}
async function verify2FA(tempToken, code) {
const res = await fetch('/auth/verify-2fa', {
method: 'POST',
body: JSON.stringify({ tempToken, code })
});
return await res.json();
}Важно:
- Временный токен должен быть short-lived (5-10 мин)
- Предусмотреть повторную отправку кода
- Обрабатывать ошибки неверного кода

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы