Portail des membres Intégrer
Intégrez le portail fidélité SocialHub directement sur votre site web, avec authentification unique. Les visiteurs connectés consultent leurs points, coupons et leur niveau dans une iframe, sans avoir à se reconnecter.
Votre serveur génère un jeton JWT (HS256) éphémère contenant l'adresse e-mail de l'utilisateur ; le serveur SDK insère une iframe que SocialHub vérifie et connecte à une session membre. Les sessions utilisent un jeton porteur (sans cookies), le blocage des cookies tiers n'a donc aucun impact.
Fonctionnement
- 1
Enregistrement d’un client intégré
Dans SocialHub, enregistrez un client pour votre site. SocialHub crée un client_id public et un secret partagé unique (affiché une seule fois). Le secret ne vit que sur votre backend.
- 2
Signez un jeton JWT temporaire sur votre serveur.
Après la connexion d'un utilisateur à votre site, signez un jeton JWT HS256 d'une durée maximale de 5 minutes avec le secret partagé, contenant l'adresse e-mail de l'utilisateur (iss = client_id). Le secret ne doit jamais être transmis au navigateur.
- 3
Déposez le script SDK sur votre page
Ajoutez la balise <script> avec le jeton de données défini sur le JWT. La balise SDK crée l'iframe, vérifie le jeton, établit la connexion avec une session membre et redimensionne automatiquement le cadre en fonction de son contenu.
Inscrivez votre client dans l’application
Le configurateur d'intégration interactif en direct fonctionne dans SocialHub ; vous devez être connecté à votre équipe pour l'utiliser. Il enregistre un client d'intégration et génère pour vous l'extrait signé : votre client_id et un secret partagé à usage unique. Ce secret n'est affiché qu'une seule fois ; stockez-le immédiatement dans votre système. Cette page est la référence statique ; le configurateur effectue la configuration proprement dite.
Où client_id Et d'où vient ce secret ?
Depuis le configurateur intégré à l'application, SocialHub génère les deux. Le secret partagé signe vos jetons JWT intégrés et est distinct de vos clés REST et API, ainsi que du secret de session propre à SocialHub. Chaque client possède son propre secret, ce qui isole une fuite à un seul site.
Configurer l'intégration dans SocialHub1. Intégrez SDK sur votre page
Collez l'extrait généré par le configurateur – il ressemble à ceci. Attributs optionnels : data-base-url (par défaut https://flash.socialhub.ai), data-min-height (par défaut 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. Signez le JWT sur votre système.
Le jeton JWT doit être signé sur votre serveur . Le secret partagé ne doit jamais être accessible via le navigateur. Les jetons sont éphémères et à usage unique.
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");Prêt à être mis en service ?
Enregistrez votre client intégré et récupérez votre client_id et votre clé secrète partagée dans le configurateur SocialHub, puis collez l'extrait de code généré ci-dessus.