Генератор PKCE code_verifier и code_challenge

Создайте или вставьте code_verifier и получите code_challenge S256 для OAuth 2.0 PKCE (RFC 7636).

code_challenge (S256)

Работает полностью в браузере. Введённые данные не отправляются и не сохраняются.

Как пользоваться

  1. Нажмите «Создать» для нового code_verifier или вставьте свой.
  2. code_challenge вычисляется как BASE64URL(SHA-256(code_verifier)).
  3. Передайте code_challenge и code_challenge_method=S256 в запросе авторизации.
  4. Передайте code_verifier в запросе токена.

Частые вопросы

Что такое PKCE?

Proof Key for Code Exchange (RFC 7636). Клиент отправляет хешированный code_challenge при авторизации и исходный code_verifier при запросе токена, поэтому одного перехваченного кода авторизации недостаточно.

Как вычисляется code_challenge?

Для S256: SHA-256 от code_verifier в ASCII, затем base64url без дополнения. Для примера из RFC 7636 dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk получается E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM.

Почему созданный verifier длиной 43 символа?

32 случайных байта в base64url без дополнения — это 43 символа, минимальная длина по RFC 7636 (от 43 до 128 символов из A-Z, a-z, 0-9, -, ., _, ~).

Похожие инструменты