Практическое руководство FindRisk
Безопасность OAuth, OIDC и SSO: state, PKCE, nonce и аккаунты
OAuth описывает делегирование доступа, а OIDC добавляет сведения о личности. State, PKCE и nonce решают разные задачи и не заменяют проверку issuer, audience и владельца связываемого аккаунта. Начните с выбранного потока и поддерживаемой библиотеки.
Что сделать
Материалы по теме
OAuth state: привязка callback к начатому входу
Как state защищает авторизационный поток от подмены: случайное значение, привязка к браузерной сессии, срок действия и одноразовое использование.
PKCE в OAuth: проверка code verifier и защита authorization code
Как PKCE связывает обмен кода с клиентом, зачем нужен S256 и почему PKCE не заменяет проверку redirect URI и токенов.
OIDC nonce: как связать ID Token с запросом входа
Проверка nonce в OpenID Connect вместе с подписью, issuer, audience и сроком действия ID Token без подмены токена доступа токеном личности.
Связывание аккаунтов OAuth и SSO: почему одного email недостаточно
Как безопасно привязать внешний вход к существующему аккаунту: issuer и subject, подтверждение владельца и защита операции связывания.
OAuth redirect_uri: как проверить защиту адреса возврата
Точная проверка redirect_uri защищает OAuth-вход от перенаправления к постороннему сайту и утечки кода авторизации.
JWT: ошибки проверки подписи и назначения токена
Чем декодирование JWT отличается от проверки, зачем фиксировать алгоритм, issuer и audience и почему действующая подпись не заменяет авторизацию.
Источники и границы
- Требования отдельных параметров зависят от протокола и выбранного потока.
- Внешний скан не подтверждает корректность обмена токенов и внутренних правил связывания.