RFC7636 · Доказательство ключа для обмена кодом в OAuth (PKCE) Proof Key for Code Exchange by OAuth Public Clients
Защищает код авторизации OAuth от перехвата: клиент связывает запрос авторизации с последующим обменом кода посредством одноразового проверочного значения. Механизм особенно важен для общедоступных клиентов, но современная практика рекомендует его шире.
IETF · RFC
Используйте метод S256 и не рассматривайте PKCE как замену проверке redirect URI, state/nonce и другим мерам профиля авторизации.
Официальная английская аннотация OAuth 2.0 public clients utilizing the Authorization Code Grant are susceptible to the authorization code interception attack. This specification describes the attack as well as a technique to mitigate against the threat through the use of Proof Key for Code Exchange (PKCE, pronounced "pixy").
Связи документа
Проверка просрочена
Предлагаемый стандарт
Статус: 16.10.2026, 10:21 МСК
Срок следующей проверки: 17.10.2026, 10:21 МСК
Полный текст не зарегистрирован для автоматической сверки.
Errata: Verified: 1; Reported: 2; Rejected: 2
История и основания проверки
16.10.2026, 10:21 МСК · rfc-index · changed · HTTP 2004c599b64f95deebb9295a603747e28c7b172b15516b4d7140d35b3c5fec97311
16.10.2026, 10:21 МСК · rfc-errata · changed · HTTP 200e208d511c7450a0c65b6a6cfa47471ac873f0c81442bcb911eaac5a2097a8609
10.10.2026, 18:39 МСК · rfc-index · adapter_changed · HTTP 200d413c804505ea10e4abfabc529e82cbfd950616d85fd71658122beeabf74c73b
10.10.2026, 18:39 МСК · rfc-errata · adapter_changed · HTTP 2009fd444088360c9a55b9d1543eb948d627c9e30ac3d9d9cdc222e5883be7e59ee
10.10.2026, 18:36 МСК · rfc-index · unchanged · HTTP 304d413c804505ea10e4abfabc529e82cbfd950616d85fd71658122beeabf74c73b
10.10.2026, 18:36 МСК · rfc-errata · baseline · HTTP 2009fd444088360c9a55b9d1543eb948d627c9e30ac3d9d9cdc222e5883be7e59ee
10.10.2026, 18:34 МСК · rfc-index · changed · HTTP 200d413c804505ea10e4abfabc529e82cbfd950616d85fd71658122beeabf74c73b
10.10.2026, 18:34 МСК · rfc-errata · error · HTTP 200Empty response or forbidden XML entities
rfc-errata · официальный источник
rfc-index · официальный источник
Полные импортированные сведения карточки {
"id": "RFC7636",
"number": 7636,
"title_en": "Proof Key for Code Exchange by OAuth Public Clients",
"title_ru": "Доказательство ключа для обмена кодом в OAuth (PKCE)",
"summary_ru": "Защищает код авторизации OAuth от перехвата: клиент связывает запрос авторизации с последующим обменом кода посредством одноразового проверочного значения. Механизм особенно важен для общедоступных клиентов, но современная практика рекомендует его шире.",
"purpose_ru": "",
"use_ru": "",
"full_translation_path": "",
"full_translation_checked_at": "",
"full_translation_source_sha256": "",
"architect_note_ru": "Используйте метод S256 и не рассматривайте PKCE как замену проверке redirect URI, state/nonce и другим мерам профиля авторизации.",
"topics_ru": [
"OAuth 2.0",
"PKCE",
"защита кода"
],
"translation_state": "reviewed",
"verification_level": "editorial_reviewed",
"verification_level_ru": "Проверенная редакционная выжимка",
"verification_note_ru": "",
"abstract_en": "OAuth 2.0 public clients utilizing the Authorization Code Grant are susceptible to the authorization code interception attack. This specification describes the attack as well as a technique to mitigate against the threat through the use of Proof Key for Code Exchange (PKCE, pronounced \"pixy\").",
"authors": [
"N. Sakimura",
"J. Bradley",
"N. Agarwal"
],
"organizations": [],
"publication_date": "2015-09-01",
"current_status": "PROPOSED STANDARD",
"current_status_ru": "Предлагаемый стандарт",
"publication_status": "PROPOSED STANDARD",
"publication_status_ru": "Предлагаемый стандарт",
"lifecycle": "active",
"lifecycle_ru": "Действующий",
"stream": "IETF",
"stream_ru": "IETF",
"area": "sec",
"area_ru": "Безопасность",
"working_group": "oauth",
"source_draft": "draft-ietf-oauth-spop-15",
"page_count": 20,
"doi": "10.17487/RFC7636",
"keywords": [
"smart phones",
"apps",
"XARA",
"authorization",
"custom scheme",
"intent",
"man-in-the-middle",
"eavesdropping",
"user agent swap",
"spop",
"pop",
"openid",
"connect",
"pkce",
"pixie"
],
"formats": [
"TXT",
"HTML"
],
"relations": {
"obsoletes": [],
"obsoleted_by": [],
"updates": [],
"updated_by": [],
"is_also": [],
"see_also": []
},
"links": {
"info": "https://www.rfc-editor.org/info/rfc7636/",
"html": "https://www.rfc-editor.org/rfc/rfc7636.html",
"txt": "https://www.rfc-editor.org/rfc/rfc7636.txt",
"datatracker": "https://datatracker.ietf.org/doc/rfc7636/"
}
}