PHP, Python, .NET, Node.js
Sigue esta guía si tus páginas se renderizan en el servidor, en PHP, Python, .NET o Node.js. Al terminar, tus usuarios inician sesión con Block-Auth y tu backend tiene una sesión verificada para ellos.
Qué vas a montar
Todo pasa en tu backend. No instalas nada de Block-Auth en el navegador: tus páginas solo necesitan un enlace normal para iniciar sesión y un formulario para cerrarla.
Tu backend envía al usuario al login de Block-Auth y lo recibe de vuelta en un callback con un código de un solo uso. Canjea el código con tu API secret, obtiene el usuario de Block-Auth y crea su propia sesión.
- 1Tus páginas → Tu backendGET /blockauth/login
- 2Tu backend → Block-AuthPOST /api/auth/authorize
- 3Tu backend → Tus páginasRedirige al login
- 4Tus páginas → Block-AuthEl usuario inicia sesión
- 5Block-Auth → Tus páginasVuelve con ?code&state
- 6Tus páginas → Tu backendGET /blockauth/callback
- 7Tu backend → Block-AuthPOST /api/auth/token
- 8Block-Auth → Tu backend{ address, roles }
- 9Tu backend → Tus páginasCookie de sesión y redirección
Un enlace normal
SDK de Block-Auth
Lo aloja Block-Auth
- 1GET /blockauth/login
- 2POST /api/auth/authorize
- 3Redirige al login
- 4El usuario inicia sesión
- 5Vuelve con ?code&state
- 6GET /blockauth/callback
- 7POST /api/auth/token
- 8{ address, roles }
- 9Cookie de sesión y redirección
Si tu frontend es una app de React, Vue o Angular, sigue en su lugar la guía React, Vue o Angular: añade el botón de inicio de sesión con el widget.
Prepara tu app
- En el Dashboard, crea tu aplicación y valida su dominio siguiendo la guía rápida de integración. El dominio es el host que ven tus usuarios (por ejemplo
your-app.com). Para desarrollo, usa otra app con un dominio comodev.your-app.com(una app por entorno). - Copia la
apiKeyy elapiSecretdesde Aplicaciones » Ver claves. - Ponlas en el entorno de tu servidor:
.env (backend)
APP_URL=https://your-app.com
BLOCKAUTH_API_KEY=your_api_key
BLOCKAUTH_API_SECRET=your_api_secret
SESSION_SECRET=a_long_random_string
Instala el cliente
Instala el cliente de Block-Auth para tu lenguaje. Te da AuthCodeClient, igual en todos los lenguajes.
npm install @block-auth.io/node express express-session
Tu propia implementación (sin SDK)
Los paquetes de backend son opcionales: solo te ahorran código. Cualquier servidor, en cualquier lenguaje, puede hacer lo mismo con HTTP normal. Envía el hash SHA-256 (hex) de tu apiSecret, nunca el secreto en sí.
Tu ruta de login pide un enlace y tu callback canjea el código:
curl -X POST https://wss.block-auth.io/api/auth/authorize \
-H 'Content-Type: application/json' \
-d '{
"apiKey": "your_api_key",
"apiSecret": "sha256_hex_of_your_api_secret",
"redirectUri": "https://your-app.com/blockauth/callback",
"state": "random_value_kept_in_the_session"
}'
Todas las respuestas son { "success": true, "message": … }; en /api/auth/token, message contiene address, did y roles. Para verificar un webhook, calcula v1= + HMAC-SHA256 de timestamp.body (la cabecera X-BlockAuth-Timestamp, un punto y el cuerpo sin procesar), con el hash SHA-256 de tu apiSecret como clave, y compáralo con X-BlockAuth-Signature. Todos los parámetros y errores están en Login de usuarios.

