Development
Simula de extremo a extremo el flujo de código de autorización con PKCE: generación de verifier/challenge, URL de autorización, intercambio de tokens, lista de validación del ID Token y demostración de ataque de interceptación.
Llama a esta herramienta desde tu código en tres lenguajes.
curl -X POST 'https://api.elysiatools.com/es/api/tools/oauth-oidc-authorization-code-pkce-flow-visualizer' \
-H 'Content-Type: application/json' \
-d '{"flowVariant":"s256","codeVerifier":"dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk","issuer":"http://127.0.0.1:8443","clientId":"spa-demo-client","redirectUri":"http://127.0.0.1:8080/callback","scope":"openid profile email","clientSecret":"demo-secret-not-for-production","state":"","nonce":"","simulateAttack":false}'Envía una petición POST con tus entradas en JSON. Los parámetros de tipo archivo requieren una subida previa.
POST https://api.elysiatools.com/es/api/tools/oauth-oidc-authorization-code-pkce-flow-visualizer| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| flowVariant | select | Sí | — |
| codeVerifier | text | No | — |
| issuer | text | No | — |
| clientId | text | No | — |
| redirectUri | text | No | — |
| scope |
Añade esta herramienta a tu servidor Model Context Protocol para que los agentes de IA puedan listarla y llamarla.
Añade este bloque a la configuración de tu cliente MCP:
{
"mcpServers": {
"elysiatools-oauth-oidc-authorization-code-pkce-flow-visualizer": {
"name": "oauth-oidc-authorization-code-pkce-flow-visualizer",
"description": "Simula de extremo a extremo el flujo de código de autorización con PKCE: generación de verifier/challenge, URL de autorización, intercambio de tokens, lista de validación del ID Token y demostración de ataque de interceptación.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=oauth-oidc-authorization-code-pkce-flow-visualizer",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Tras conectar al endpoint SSE, lista las herramientas expuestas:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoca la herramienta por su id; los argumentos se construyen a partir de sus parámetros:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "oauth-oidc-authorization-code-pkce-flow-visualizer",
"arguments": {
"flowVariant": "s256",
"codeVerifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
"issuer": "http://127.0.0.1:8443",
"clientId": "spa-demo-client",
"redirectUri": "http://127.0.0.1:8080/callback",
"scope": "openid profile email",
"clientSecret": "demo-secret-not-for-production",
"state": "",
"nonce": "",
"simulateAttack": false
}
}
}| text |
| No |
| — |
| clientSecret | text | No | — |
| state | text | No | — |
| nonce | text | No | — |
| simulateAttack | checkbox | No | — |
Resultado HTML
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}¿Dudas o problemas? Contacta con [email protected]