Sobes.tech
Back to questions
Junior — Middle
63

Какие методы аутентификации вы применяли в своих проектах?

Companies where asked
ООО КМВ Тур

Answer from AI

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('Неверный токен')