Какие виды авторизации API вы можете назвать на собеседовании?

Basic Auth: логин и пароль передаются в заголовке в формате base64 Bearer Token: токен доступа указывается в заголовке Authorization OAuth 2.0: делегирование доступа с использованием access- и refresh-токенов API Key:…

Короткий ответ

Что ответить на собеседовании

Basic Auth: логин и пароль передаются в заголовке в формате base64 Bearer Token: токен доступа указывается в заголовке Authorization OAuth 2.0: делегирование доступа с использованием access- и refresh-токенов API Key: уникальный ключ, который часто передаётся в параметрах запроса JWT (JSON Web Token): самодостаточный токен, содержащий сведения о пользователе Digest Auth: усовершенствованный вариант Basic Auth с хэшированием пароля OpenID Connect: протокол идентификации поверх OAuth 2.0 Конкретный вариант выбирают с учётом требований к безопасности и удобства интеграции

Подробный разбор

Ответ с пояснениями

Виды авторизации для API

  • Basic Auth: логин и пароль передаются в заголовке в формате base64
  • Bearer Token: токен доступа указывается в заголовке Authorization
  • OAuth 2.0: делегирование доступа с использованием access- и refresh-токенов
  • API Key: уникальный ключ, который часто передаётся в параметрах запроса
  • JWT (JSON Web Token): самодостаточный токен, содержащий сведения о пользователе
  • Digest Auth: усовершенствованный вариант Basic Auth с хэшированием пароля
  • OpenID Connect: протокол идентификации поверх OAuth 2.0
  • Конкретный вариант выбирают с учётом требований к безопасности и удобства интеграции

Развёрнутый ответ

Краткий ответ

Для авторизации API применяют несколько основных подходов, различающихся возможностями и типичными сценариями использования. К наиболее распространённым относятся Basic Auth, Token-based Auth (например, JWT), OAuth 2.0 и API ключи. Авторизация определяет, есть ли у пользователя или системы права на доступ к ресурсу после прохождения аутентификации.

Основные особенности

  • При использовании Basic Auth логин и пароль помещаются в HTTP-заголовки. Такой вариант подходит для простых сценариев с невысокими требованиями к безопасности, однако обязательно требует HTTPS, поскольку сами данные не шифруются.
  • При Token-based авторизации (JWT) сервер после успешной аутентификации формирует JSON Web Token, а клиент передаёт его в последующих запросах. Этот подход удобен для stateless-архитектуры RESTful API, хорошо масштабируется и позволяет использовать embeded claims и expiry.
  • OAuth 2.0 предназначен для делегирования доступа и особенно востребован при работе со сторонними приложениями. Он позволяет выдавать временные токены с ограниченным набором прав, не раскрывая приложению пароль пользователя.
  • API Keys представляют собой простой способ идентифицировать клиента с помощью уникального ключа. Его обычно передают в заголовке либо в query-параметре. Такой механизм подходит сервисам с умеренными требованиями к безопасности и несложными ограничениями.

Пример применения на практике

В современных системах для управления доступом к микросервисам нередко объединяют OAuth 2.0 с JWT. Во внутреннем API можно применять API ключи, дополняя их ограничением частоты запросов через Redis. В React-приложениях и мобильных приложениях для аутентификации часто используют Token-based авторизацию с refresh tokens, чтобы поддерживать длительную сессию.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку