/
m.makarov
/
FastAPI
Обзор
Документация
Войти
/
m.makarov
/
FastAPI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
frontend/src/api/auth.js
39 строк
1 KB
Maks
Авторизация, стили для фронта
23 дек 2025, 13:58
23 дек 2025, 13:58
b808b1c
Код
Авторство
О чём код?
// src/api/auth.js import axios from 'axios'; const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '/api'; // Для запросов, требующих form-data (например, login) export const apiForm = axios.create({ baseURL: API_BASE_URL, headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, }); // Для всех остальных запросов — JSON export const apiJson = axios.create({ baseURL: API_BASE_URL, headers: { 'Content-Type': 'application/json', }, }); // Добавляем интерцептор для токена ко всем запросам [apiForm, apiJson].forEach(client => { client.interceptors.request.use((config) => { const token = localStorage.getItem('access_token'); if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }); }); export const login = async (email, password) => { const params = new URLSearchParams(); params.append('username', email); params.append('password', password); const response = await apiForm.post('/users/token', params); return response.data; };