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.
Cómo funciona
- 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
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
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 SocialHub1. 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.
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.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.