Generador OAuth 2.0 PKCE
Red
PKCE (Proof Key for Code Exchange, RFC 7636) es el flujo OAuth 2.0 moderno recomendado para TODOS los clientes públicos — SPAs, móviles y apps de escritorio que no pueden guardar un client_secret seguro. Esta herramienta genera un `code_verifier` criptográficamente aleatorio (43-128 caracteres del alfabeto URI no reservado), deriva el `code_challenge` (SHA-256 codificado en base64url para S256, o el verifier para `plain`) y construye la URL completa con `state` para protección CSRF. El `curl` adjunto muestra el intercambio de token con todos los parámetros listos — solo pega el `code` del callback.
Cómo usar
- Define la longitud del verifier (64 es buen default; mínimo 43, máximo 128).
- Elige S256 (siempre preferido) o plain (solo servidores legacy).
- Completa `client_id`, `redirect_uri`, `scope` y los endpoints OAuth.
- Manda al usuario a la URL de autorización. Cuando vuelva con `?code=...`, ejecuta el curl con ese código para obtener tokens.
Preguntas frecuentes
- S256 vs plain, ¿cuál usar?
- Siempre S256. Plain envía el verifier como challenge — sin protección si interceptan la solicitud. S256 envía solo SHA-256 del verifier, así el verifier nunca aparece en el paso 1. RFC 7636 indica que los clientes deben rechazar plain si S256 está disponible.
- ¿Por qué estos caracteres en el verifier?
- RFC 7636 especifica el alfabeto del verifier como `[A-Z][a-z][0-9]-._~` — caracteres URI no reservados de RFC 3986. Esto lo hace seguro en URLs, headers y bodies sin escapado.
- ¿Para qué `state`?
- Cadena aleatoria opaca que el cliente genera por solicitud y valida en el callback. Previene CSRF: si un atacante engaña al usuario para hacer click en una redirección maliciosa, el `state` no coincidirá con el guardado y la respuesta se rechaza. Úsala siempre.
- ¿Dónde corre?
- Íntegramente en tu navegador. El verifier viene de `crypto.getRandomValues()` y SHA-256 de `crypto.subtle.digest()` — ambas Web Crypto API. Nada se envía.
Herramientas relacionadas
Inspector de Dirección IP
Escribe una dirección IPv4 o IPv6 y ve su clase, scope (privada / pública / loopback / link-local), valor decimal, binario, notación reverse-DNS y CIDR /32.
Referencia de Puertos
Cheat sheet buscable de ~60 puertos TCP / UDP estándar — desde 22 (SSH) y 80 (HTTP) hasta 6379 (Redis) y 27017 (MongoDB).
Referencia de Registros DNS
Hoja de referencia buscable de tipos de registro DNS — A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV, CAA, DNSSEC, SVCB / HTTPS — con ejemplos.
Calculadora de Subred (IPv4 / CIDR)
Parsea CIDR IPv4 en dirección de red, broadcast, netmask, wildcard, rango de hosts y clase. Muestra desglose binario y estado privado/público.
Parser de User Agent
Parsea string User-Agent en navegador, engine, OS, dispositivo y CPU. Detecta 20+ bots incluyendo GPTBot, ClaudeBot, PerplexityBot.
Referencia de Códigos de Estado HTTP
Lista buscable de todos los códigos HTTP (1xx-5xx) con resumen, RFC, cuándo usar y trampas frecuentes.