SocialHub.AI
Recursos · Desarrolladores

Insertar portal de miembros

Integre el portal de fidelización de SocialHub directamente en su sitio web, con inicio de sesión único. Los visitantes registrados ven sus puntos, cupones y nivel dentro de un iframe, sin necesidad de iniciar sesión nuevamente.

Tu servidor firma un JWT (HS256) de corta duración que contiene el correo electrónico del usuario; el SDK inserta un iframe que SocialHub verifica y conecta con la sesión del miembro. Las sesiones utilizan un token de portador (sin cookies), por lo que el bloqueo de cookies de terceros no las interrumpe.

Descripción general

Cómo funciona

  1. 1

    Registrar un cliente integrado

    En SocialHub, registre un cliente para su sitio. SocialHub genera un client_id público y un secreto compartido único (que se muestra solo una vez). El secreto vive sólo en tu backend.

  2. 2

    Firma un JWT de corta duración en tu backend.

    Después de que un usuario inicie sesión en su sitio, firme un JWT HS256 de ≤5 minutos con la clave compartida, que contiene el correo electrónico del usuario (iss = client_id). La clave nunca debe llegar al navegador.

  3. 3

    Coloque el script SDK en su página

    Añade la etiqueta <script> con el token de datos configurado como JWT. La etiqueta SDK crea el iframe, verifica el token, se conecta a la sesión del miembro y ajusta automáticamente el tamaño del marco a su contenido.

Registra a tu cliente en la aplicación.

El configurador de integración interactivo en tiempo real se ejecuta dentro de SocialHub; necesitas que hayas iniciado sesión en tu equipo. Allí se registra un cliente integrado y se genera el fragmento firmado: su client_id y una clave secreta compartida de un solo uso. La clave secreta se muestra solo una vez, así que guárdela inmediatamente en su backend. Esta página es la referencia estática; el configurador realiza la configuración real.

¿De dónde provienen el client_id y el secreto?

Desde el configurador integrado, SocialHub genera ambos. El secreto compartido firma tus JWT integrados y es independiente de tus claves REST y API, así como del secreto de sesión de SocialHub. Cada cliente tiene su propio secreto, por lo que una fuga se limita a un solo sitio.

Configurar la inserción en SocialHub

1. Colocar SDK en tu página

Pega el fragmento que genera el configurador; se ve así. Atributos opcionales: data-base-url (predeterminado https://flash.socialhub.ai), data-min-height (predeterminado 600).

<div id="flash-loyalty"></div>
<script src="https://flash.socialhub.ai/sdk/flash-portal.js"
        data-token="<JWT signed by your backend>"
        data-target="#flash-loyalty"></script>

2. Firma el JWT en tu sistema backend

El JWT debe firmarse en su backend ; la clave secreta compartida nunca debe llegar al navegador. Los tokens son temporales y de un solo uso.

Node.js
import jwt from "jsonwebtoken";

const token = jwt.sign(
  {
    email: user.email,
    name: user.name,
    marketing_consent: user.optedInMarketing === true,
  },
  process.env.FLASH_EMBED_SECRET,           // your shared_secret
  { algorithm: "HS256", issuer: "<client_id>", expiresIn: "5m" }
);
// Render `token` into the script tag's data-token, or hand it
// to the browser via your own endpoint.
PHP (base de fuego/php-jwt)
use Firebase\JWT\JWT;

$token = JWT::encode([
  "iss" => "<client_id>",
  "email" => $user->email,
  "name" => $user->name,
  "marketing_consent" => false,
  "iat" => time(),
  "exp" => time() + 300,
], $sharedSecret, "HS256");

¿Listo para la transmisión en vivo?

Registra tu cliente integrado y obtén tu client_id real y la clave secreta compartida en el configurador de SocialHub, luego pega el fragmento generado arriba.