Ответ
Авторизация должна быть реализована на Backend, так как он отвечает за проверку учетных данных, генерацию и валидацию токенов (JWT, сессий).
Frontend лишь отправляет данные (логин/пароль) на сервер, получает токен и сохраняет его (например, в localStorage
или cookies
), затем добавляет его в заголовки запросов (Authorization: Bearer <token>
).
Пример отправки запроса с фронтенда:
fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email: 'user@example.com', password: '123' })
})
.then(res => res.json())
.then(data => {
localStorage.setItem('token', data.token);
});
Важно: Хранение токенов на клиенте требует защиты от XSS и CSRF-атак.