Extras y producción
Webhooks, vinculación de cuentas y las comprobaciones antes de salir a producción.
Vincula usuarios existentes (opcional)
Si tu app ya tiene sus propios usuarios, pueden vincular su identidad de Block-Auth a su cuenta. A partir de ahí, iniciar sesión con Block-Auth devuelve su id en tu app como externalId, para que entren como tu usuario.
- Desde una página donde tu usuario tenga sesión con tu propio login (y reciente, por ejemplo de los últimos 10 minutos), envíalo a
/blockauth/loginy guarda en la sesión que es una vinculación. - En el callback, si es una vinculación, pasa tu id de usuario como
linkExternalIdal canjear el código y mantén la sesión actual del usuario:
const user = await blockauth.exchangeCode(code, CALLBACK_URL, undefined, String(req.session.appUser.id))
Si esa identidad o ese usuario ya están vinculados, la llamada falla con Account already linked o External id already linked. Para quitar un vínculo desde tu lado, llama a revokeLink(externalId).
Pruébalo y pasa a producción
Abre /blockauth/login, inicia sesión y comprueba que vuelves con la sesión iniciada y que GET /api/me devuelve tu usuario.
Antes de salir a producción:
- Tu app de producción tiene su propio dominio validado y sus claves, y la web usa
https. - El
apiSecretsolo está en el entorno de tu servidor. - El callback siempre comprueba el
state, y tu app solo crea sesiones a partir de la dirección que devuelve/api/auth/token. - La cookie de sesión es
HttpOnly,SecureySameSite=Lax.

