Практическое руководство FindRisk

Безопасность OAuth, OIDC и SSO: state, PKCE, nonce и аккаунты

OAuth описывает делегирование доступа, а OIDC добавляет сведения о личности. State, PKCE и nonce решают разные задачи и не заменяют проверку issuer, audience и владельца связываемого аккаунта. Начните с выбранного потока и поддерживаемой библиотеки.

Что сделать

  1. 1Зафиксируйте клиента, доверенные issuer, redirect URI и используемый поток.
  2. 2Проверьте привязку callback к начатой сессии и срок контекста входа.
  3. 3Используйте PKCE S256 и убедитесь, что сервер проверяет verifier без downgrade.
  4. 4Проверяйте подпись, issuer, audience, срок и отправленный nonce ID Token.
  5. 5Связывайте внешнюю личность по issuer и subject; подтверждайте владельца существующего аккаунта.
  6. 6Проверьте отказы на тестовом IdP и не сохраняйте коды и токены в журналах.

Материалы по теме

OAuth state: привязка callback к начатому входу

Как state защищает авторизационный поток от подмены: случайное значение, привязка к браузерной сессии, срок действия и одноразовое использование.

СреднийВеб-рискНужна ручная проверкаВеб-приложения

OIDC nonce: как связать ID Token с запросом входа

Проверка nonce в OpenID Connect вместе с подписью, issuer, audience и сроком действия ID Token без подмены токена доступа токеном личности.

СреднийВеб-рискНужна ручная проверкаВеб-приложения

JWT: ошибки проверки подписи и назначения токена

Чем декодирование JWT отличается от проверки, зачем фиксировать алгоритм, issuer и audience и почему действующая подпись не заменяет авторизацию.

ВысокийВеб-рискНужна ручная проверкаВеб-приложения
Весь каталог

Источники и границы

  • Требования отдельных параметров зависят от протокола и выбранного потока.
  • Внешний скан не подтверждает корректность обмена токенов и внутренних правил связывания.