Middle+
Омӯзиши иҷозат доданӣ кард? Чӣ гуна бо токенҳо кор кард?
sobes.tech AI
Ҷавоб аз 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 атак.