Portales Web

Recoge el payload cifrado del navegador con el SDK JavaScript y reenvíalo a tu backend para que lo registre en SmartID.

Instalación del SDK

Antes de integrar, instala el SDK en Getting Started → Instalar el SDK →

personalization_raw

Recoge la huella del navegador y dispositivo de forma síncrona y devuelve el payload codificado como string. Llama este método en el onload de la página de login.

JavaScript
// call on page load, before the user submits credentials
const smartidData = personalization_raw();

// attach to the hidden input — empty string if the call returned nothing
document.getElementById('smartid-data').value = smartidData || '';
Web Integrity — llamada previa requerida

Si utilizas la regla de Web Integrity, llama personalization_integrity() antes de personalization_raw() para que la información del sitio quede capturada en el payload.

Incluir en el formulario de login

Agrega un input oculto para transportar el payload en el envío del formulario.

HTML
<form action="/api/login" method="POST">
  <input type="text"     name="username"    placeholder="Username" />
  <input type="password"  name="password"    placeholder="Password" />
  <input type="hidden"   name="smartid_data" id="smartid-data" />
  <button type="submit">Login</button>
</form>

Flujo completo de login

El SDK corre en el navegador del usuario. El único que llama a la API de SmartID es tu backend.

1

SDK recoge datos en el navegador

Al cargar la página de login, llama personalization_raw(). Retorna el payload codificado de forma síncrona y lo escribe en el input oculto.

2

Formulario envía credenciales + payload a tu backend

Al hacer submit, el formulario envía usuario, contraseña y el campo oculto smartid_data a tu servidor. Si el SDK falló, el campo queda vacío.

3

Tu backend llama a la API de SmartID

Tu servidor hace un POST al endpoint de login web con los atributos del usuario y el payload cifrado.

POST /api/v5/analytics/web/login
cURL
curl -X POST https://<api-url>/api/v5/analytics/web/login \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer <license>" \\
  -d '{
    "channelId": 1,
    "user": "jlopez",
    "session": "445613456fa",
    "publicIp": "20.201.64.54",
    "data": "<smartid_data from the form, empty string on failure>"
  }'
Campo Tipo Requerido Descripción
channelIdintegerRequeridoIdentificador de tu canal SmartID
userstringRequeridoNombre de usuario o identificador único
sessionstringOpcionalToken de sesión de tu aplicación
publicIpstringRequeridoIP pública del usuario
datastringRequeridoPayload de getRawData. String vacío si el SDK falló.
4

SmartID responde 200 OK

SmartID registra el evento y responde con 200 OK. Procede con tu lógica normal de login.

Logout

Cuando el usuario cierra sesión, notifica a SmartID desde tu backend. No se necesita llamada al SDK desde el navegador.

POST /api/v5/analytics/web/logout
cURL
curl -X POST https://<api-url>/api/v5/analytics/web/logout \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer <license>" \\
  -d '{
    "channelId": 1,
    "user": "jlopez",
    "session": "445613456fa"
  }'
Campos opcionales en logout

publicIp y data son opcionales en el logout. channelId, user y session son suficientes para cerrar el evento.