Authentification
Utilisez Docs Embed avec des sites nécessitant une authentification en transmettant des tokens visiteurs ou en utilisant l'accès authentifié
Si votre documentation GitBook nécessite une authentification (par ex. authentification des visiteurs via OIDC, Auth0 ou un backend personnalisé), l'intégration ne peut pas accéder au contenu de vos docs à moins que le jeton d'authentification de l'utilisateur ne soit fourni.
Il existe deux approches :
Transmettre le jeton directement (recommandé) - Initialiser l'intégration avec le jeton du visiteur
Utiliser la détection basée sur les cookies - Vérifier la présence du jeton dans les cookies avant le chargement
Approche 1 : Transmettre le jeton directement (Recommandé)
Lors de l'initialisation de l'intégration, transmettez le jeton du visiteur directement :
<script src="https://docs.company.com/~gitbook/embed/script.js?jwt_token=your-jwt-token"></script>
<script>
window.GitBook(
"init",
{ siteURL: "https://docs.company.com" },
{ visitor: { token: "your-jwt-token" } }
);
window.GitBook("show");
</script>import { createGitBook } from "@gitbook/embed";
const gitbook = createGitBook({
siteURL: "https://docs.company.com",
});
const iframe = document.createElement("iframe");
iframe.src = gitbook.getFrameURL({
visitor: {
token: "your-jwt-token",
unsignedClaims: { userId: "123", plan: "premium" },
},
});Approche 2 : Détection basée sur les cookies
Si votre site de docs stocke le jeton visiteur dans les cookies (comme gitbook-visitor-token), vous pouvez le vérifier avant de charger l'intégration.
Lorsqu'un utilisateur se connecte à vos docs authentifiés, GitBook stocke un jeton visiteur dans les cookies de son navigateur sous la clé gitbook-visitor-token. L'intégration a besoin de ce jeton pour récupérer le contenu de vos docs.
Le flux :
L'utilisateur se connecte à votre site de docs
GitBook stocke le jeton visiteur dans les cookies du navigateur
Votre application vérifie la présence du jeton
Si le jeton existe, chargez l'intégration et transmettez le jeton
Si le jeton n'existe pas, demandez à l'utilisateur de se connecter
Extrait à copier-coller
Utilisez cet extrait pour charger l'intégration seulement après qu'un utilisateur se soit connecté :
Remplacez docs.example.com par l'URL réelle de votre site de docs.
Alternative : Inviter les utilisateurs à se connecter
Si le jeton est manquant, vous pouvez inviter les utilisateurs à se connecter :
Lors de l'utilisation du package NPM, vérifiez la présence du jeton avant d'initialiser :
Pour les applications React, rendre conditionnellement l'intégration en fonction de la présence du jeton :
Pièges courants
Charger l'intégration avant la connexion – Vérifiez toujours la présence du jeton avant de charger le script ou les composants, ou transmettez le jeton directement lors de l'initialisation.
Le jeton ne persiste pas entre les domaines – Les cookies ne persistent pas entre différents domaines en raison des politiques de sécurité des navigateurs. Votre application et vos docs doivent être sur le même domaine ou sous-domaine, ou transmettez le jeton directement.
Jeton expiré – Les jetons peuvent expirer. Si l'intégration renvoie des erreurs d'authentification, demandez aux utilisateurs de se reconnecter.
Mauvais nom de cookie utilisé – Le jeton est stocké sous la forme
gitbook-visitor-token, pasgitbook-tokenou d'autres variantes.Ne pas transmettre le jeton à init/getFrameURL – Lors de l'utilisation de l'approche basée sur les cookies, assurez-vous de transmettre le jeton à
GitBook('init', ..., { visitor: { token } })ougetFrameURL({ visitor: { token } }).
Débogage
Pour vérifier que le jeton est présent, ouvrez la console de votre navigateur et exécutez :
Si cela renvoie undefined, l'utilisateur ne s'est pas encore connecté à vos docs.
Étapes suivantes
Personnalisation de l'Embed – Ajouter des messages de bienvenue et des actions
Création d'outils personnalisés – Intégrer avec les API de votre produit
Documentation Docs Embed – Guide d'intégration complet
Mis à jour
Ce contenu vous a-t-il été utile ?