Назад к вопросам
Junior
65
questionbank

Какие типы аутентификации вы знаете?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

  • Базовая аутентификация (Basic Authentication): Отправка имени пользователя и пароля, закодированных в Base64, в заголовке HTTP Authorization. Небезопасно, если не используется HTTPS.

    // Пример заголовка
    Authorization: Basic username:password_base64
    
  • Дайджест-аутентификация (Digest Authentication): Более безопасная альтернатива базовой, использует хеширование для предотвращения перехвата пароля.

  • Аутентификация на основе токенов (Token-Based Authentication): Сервер после успешного входа выдает токен (например, JWT), который клиент затем отправляет с каждым запросом для подтверждения личности.

    // Пример заголовка
    Authorization: Bearer <token>
    
  • OAuth (Open Authorization): Протокол авторизации, позволяющий сторонним приложениям получать ограниченный доступ к ресурсам пользователя на другом сервисе без передачи своих учетных данных. Бывает v1.0 и v2.0.

  • OpenID Connect (OIDC): Надстройка над OAuth 2.0, добавляющая возможности аутентификации, т.е. подтверждения личности пользователя. Используется для единого входа (Single Sign-On).

  • Аутентификация по ключам API (API Key Authentication): Клиенты отправляют уникальный ключ в заголовках или параметрах запроса для идентификации. Проще, чем полный OAuth, но менее гибко.

    // Пример заголовка или параметра
    X-API-Key: <api_key>
    
  • Аутентификация на основе сессий (Session-Based Authentication): После логина сервер создает сессию и отправляет клиенту идентификатор сессии (обычно в куки). Клиент отправляет этот идентификатор с каждым последующим запросом. Состояние сессии хранится на сервере.

  • Двухфакторная аутентификация (2FA) и Многофакторная аутентификация (MFA): Требует предоставления двух (или более) различных типов учетных данных из разных категорий: что-то, что пользователь знает (пароль), что-то, что пользователь имеет (телефон, токен), и что-то, что пользователь является (биометрия).