Gerador OAuth 2.0 PKCE
PKCE (Proof Key for Code Exchange, RFC 7636) é o fluxo OAuth 2.0 moderno recomendado para TODOS os clientes públicos — SPAs, mobile e apps desktop que não podem guardar client_secret com segurança. Esta ferramenta gera um `code_verifier` criptograficamente aleatório (43-128 caracteres do alfabeto URI não reservado), deriva o `code_challenge` (SHA-256 codificado em base64url para S256, ou o próprio verifier para `plain`) e monta a URL completa com `state` para proteção CSRF. O `curl` exemplo mostra a troca de token com todos os parâmetros prontos — apenas cole o `code` do callback.
Como usar
- Defina o tamanho do verifier (64 é bom default; mínimo 43, máximo 128).
- Escolha S256 (sempre preferido) ou plain (apenas servidores legacy).
- Preencha `client_id`, `redirect_uri`, `scope` e endpoints OAuth.
- Envie o usuário para a URL de autorização. Quando voltar com `?code=...`, execute o curl com esse código para obter tokens.
Perguntas frequentes
- S256 vs plain, qual usar?
- Sempre S256. Plain envia o verifier como challenge — sem proteção se interceptarem a requisição. S256 envia apenas SHA-256 do verifier, então o verifier nunca aparece no passo 1. RFC 7636 diz que clientes devem rejeitar plain se S256 estiver disponível.
- Por que esses caracteres no verifier?
- RFC 7636 especifica o alfabeto como `[A-Z][a-z][0-9]-._~` — caracteres URI não reservados da RFC 3986. Seguro em URLs, headers e bodies sem escape.
- Para que serve `state`?
- String aleatória opaca que o cliente gera por requisição e valida no callback. Previne CSRF: se um atacante enganar o usuário a clicar em redirect malicioso, o `state` não vai bater com o salvo e a resposta é rejeitada. Use sempre.
- Onde roda?
- Inteiramente no seu navegador. Verifier vem de `crypto.getRandomValues()` e SHA-256 de `crypto.subtle.digest()` — ambas Web Crypto API. Nada é transmitido.
Ferramentas relacionadas
Codificador / Decodificador de HTTP Basic Auth
Codifica `usuário:senha` no cabeçalho `Authorization: Basic` Base64 — ou cole um cabeçalho existente pra ver quem tá dentro.
Construtor de registros DNS CAA
Gere registros DNS CAA (Certificate Authority Authorization) para que apenas as CAs que você autoriza possam emitir certificados TLS para o seu domínio. Produz registros em formato BIND e linhas tag/valor para painéis de controle, com lista de CAs comuns (Let's Encrypt, DigiCert, Google, Amazon…) em um clique.
Construtor de links mailto:
Construa URLs mailto: com Para, Cc, Cco, assunto e corpo — codificados em percentual conforme RFC 6068, prontos para tags <a>.
Expansor de Modelos URI (RFC 6570)
Expanda modelos URI RFC 6570 com suas próprias variáveis — suporta os quatro níveis: operadores de caminho, consulta, fragmento, rótulo e estilo-caminho, com modificadores explode e prefixo, tudo no seu navegador.
Referência de Códigos de Status HTTP
Lista pesquisável de todos os códigos HTTP (1xx-5xx) com resumo, RFC, quando usar e armadilhas comuns.
Gerador de QR Code
Crie QR codes personalizados a partir de qualquer texto ou URL e baixe-os.
Gerador aleatório de prompts criativos
Gere prompts criativos frescos para desenho, escrita, fotografia, projetos paralelos de código ou worldbuilding ficcional. Aperte rerolar para uma nova leva e quebre o bloqueio criativo.