PKCE

PKCE (произносится как "pixie" ) — это расширение потока авторизационного кода OAuth для клиентов, которые не могут хранить секрет, например, для одностраничных приложений и мобильных приложений. Он привязывает авторизационный код к клиенту, который его запросил, поэтому перехват кода на обратном пути недостаточен для обмена его на токен.

Как это работает

Перед перенаправлением пользователя клиент генерирует случайный code_verifier и отправляет вместе с запросом авторизации только его хеш SHA-256, code_challenge. При последующем обмене кода на токен он отправляет исходный верификатор. Сервер хеширует его, сравнивает с сохраненным запросом и выдает токен только в том случае, если они совпадают.

Заблуждение

Этот PKCE предназначен только для мобильных приложений. Текущие рекомендации по безопасности OAuth рекомендуют его для каждого клиента, использующего поток авторизационного кода, включая конфиденциальные серверные запросы, поскольку он также защищает от внедрения авторизационного кода.

Попробуйте здесь.

Современный API идентификации реализует реальный протокол S256 PKCE: POST /identity/v1/authorize с кодом проверки подлинности (codeChallenge), затем POST /identity/v1/token с кодом проверки подлинности (codeVerifier) — проверка подлинности, чей хеш не соответствует коду проверки подлинности, отклоняется с кодом 400 invalid_grant.

Источники

Другие термины

Читать страницу на английском

Все термины · Приёмы тестирования · Все 39 mock REST API

Последнее обновление