Назад к вопросам
Junior — Middle
64
Какие методы аутентификации вы применяли в своих проектах?
Компании, где спрашивали
ООО КМВ Тур
Ответ от нейросети
sobes.tech AI
В проектах на Python я применял несколько методов аутентификации:
- Basic Authentication — простой способ с передачей логина и пароля в заголовках HTTP (обычно через HTTPS).
- Token-based Authentication — использование токенов (например, JWT) для подтверждения личности пользователя без постоянной передачи пароля.
- OAuth 2.0 — для авторизации через сторонние сервисы (Google, Facebook и др.), часто применялся для упрощения входа.
- Session-based Authentication — классический подход с хранением сессий на сервере и передачей идентификатора сессии клиенту.
Пример использования JWT с библиотекой PyJWT:
import jwt
import datetime
SECRET_KEY = 'секретный_ключ'
# Создание токена
payload = {
'user_id': 123,
'exp': datetime.datetime.utcnow() + datetime.timedelta(hours=1)
}
token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
# Проверка токена
try:
data = jwt.decode(token, SECRET_KEY, algorithms=['HS256'])
user_id = data['user_id']
except jwt.ExpiredSignatureError:
print('Токен истек')
except jwt.InvalidTokenError:
print('Неверный токен')