Gerador PKCE — Code Verifier e Code Challenge do OAuth

Teste ou depure um login OAuth 2.0 / OpenID Connect com PKCE. Gere um code verifier aleatório, seu code challenge S256 (SHA-256, base64url), um state e um nonce — ou cole o seu próprio verifier para conferir o challenge. Preencha os endpoints do seu provedor e obtenha a URL de autorização completa e a requisição de token em curl. Tudo é calculado com a Web Crypto API, direto no seu navegador.

Atualizado em

Par PKCE

code_challenge (S256)
state
nonce

1. URL de autorização

Abrir

2. Trocar o código por tokens

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Gerador PKCE

  1. O code verifier e o challenge S256 correspondente são gerados na hora; clique em Gerar novo para outro par, ou cole o seu verifier para ver o challenge.
  2. Preencha os endpoints de autorização e de token do seu provedor, além de client_id, redirect_uri e scope.
  3. Abra a URL de autorização, faça login e copie o code que vem no redirecionamento.
  4. Execute a requisição de token (curl) com esse código — o verifier comprova que você iniciou o login.

Como o PKCE protege o login

PKCE (Proof Key for Code Exchange, RFC 7636) impede que um código de autorização roubado seja usado por outra pessoa. O app cria um segredo aleatório — o code verifier — e envia apenas o seu hash, o code challenge, junto com a requisição de login. Ao trocar o código recebido por tokens, ele envia o próprio verifier; o servidor calcula o hash e confere se bate. Quem interceptar o código não terá o verifier.

  • O verifier tem de 43 a 128 caracteres de A–Z a–z 0–9 - . _ ~.
  • S256: code_challenge = BASE64URL(SHA256(code_verifier)), sem padding.
  • O OAuth 2.1 exige PKCE para todos os clientes, inclusive apps server-side — não só apps mobile e single-page.
  • state protege contra CSRF; nonce vincula um ID token do OpenID Connect a este login.

Decodifique os tokens recebidos com o JWT Decoder, ou teste a chamada de token no API Tester.

Também pesquisado como: gerador de code verifier, gerador code challenge, pkce code challenge, oauth pkce, exemplo oauth2 pkce, code challenge s256, pkce online.

Ferramentas que combinam com: Gerador PKCE

  • Codificador JWT — Monte um JWT para testar APIs: edite o payload, adicione claims padrão com um clique e assine com um segredo HMAC ou uma chave privada RSA / EC.
  • Gerador de Hash — Calcule hashes MD5 e SHA de qualquer texto ou arquivo na hora, crie assinaturas HMAC e cole um checksum esperado para verificar um download.
  • Codificação/Decodificação Base64 — Converte texto para Base64 e vice-versa, com suporte total a UTF-8 (acentos, emojis); alterna para Base64 seguro para URLs; ou arrasta um arquivo para obter sua string Base64 ou URI de dados.
  • Gerador de senhas — Crie senhas fortes e verdadeiramente aleatórias ou frases-senha fáceis de digitar — com regras avançadas: inclua ou exclua palavras, exija determinados caracteres, escolha os símbolos permitidos, evite repetições e sequências.

Perguntas frequentes

Como o code challenge do PKCE é calculado?
Calcule o hash SHA-256 do code verifier (como bytes ASCII) e codifique o resultado em base64url, sem o padding =. Esse é o método S256 usado por esta ferramenta.
Qual deve ser o tamanho do code verifier?
Entre 43 e 128 caracteres. 43 caracteres de base64url aleatório carregam 256 bits de aleatoriedade, o que já é suficiente; mais longo também funciona.
Devo usar S256 ou plain?
Sempre S256. O plain envia o próprio verifier como challenge, o que não protege nada se a requisição for interceptada; ele existe só para clientes que não conseguem calcular SHA-256.
Os valores são enviados para algum lugar?
Não. Eles são gerados com a API de criptografia do navegador e só saem da página se você copiá-los ou abrir a URL de autorização.
Posso instalar o Gerador PKCE como um aplicativo da web e usá-lo offline?
Sim. O Gerador PKCE é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas