Приложения и доступ к API · проверено по источникам

Публичный клиент OAuth

Публичный клиент OAuth — приложение, которое не может надёжно скрыть свои общие учётные данные от пользователя устройства или браузера.

Также ищут: Public OAuth client · встроенное приложение OAuth · браузерный клиент OAuth

Практический смысл

Почему это важно

Встроенный секрет можно извлечь, поэтому защита строится на PKCE, точном Redirect URI, ограниченных токенах и других проверяемых мерах.

Доказательная часть

Что подтверждено

  1. Публичный клиент не способен сохранить свои общие учётные данные в тайне, например когда код выполняется на устройстве владельца ресурса.

    Граница применимости: Типы клиентов OAuth 2.0.

  2. PKCE защищает каждый обмен кода авторизации новым случайным значением, но не превращает встроенный общий секрет в защищённые учётные данные.

    Граница применимости: Защита выдачи по коду для публичного клиента.

Перед спецификацией

Что проверить

  1. Не встраивайте общий секрет.
  2. Включите PKCE.
  3. Ограничьте токены и допустимые Redirect URI.
Открытые основания

Первоисточники

  • Первичная спецификация

    The OAuth 2.0 Authorization Framework

    Internet Engineering Task Force · RFC 6749, October 2012

    Определяет роли OAuth, authorization grants, access и refresh tokens, client types и основные grant flows.

    Открыть первоисточник
  • Первичная спецификация

    Proof Key for Code Exchange by OAuth Public Clients

    Internet Engineering Task Force · RFC 7636, September 2015

    Определяет code verifier и derived code challenge для привязки authorization code к начавшему flow client instance.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие