Configuration d’un backend personnalisé

Configurez un écran de connexion personnalisé pour les visiteurs de votre documentation

circle-exclamation

Ce guide vous accompagne dans la mise en place d’un écran de connexion protégé pour votre site de documentation GitBook à l’aide de votre propre personnalisé backend d’authentification.

circle-info

Si vous utilisez l’un des fournisseurs d’authentification que nous prenons en charge ou si vous disposez d’un OpenID Connectarrow-up-right (OIDC) conforme, consultez nos guides d’intégration pour une configuration plus fluide : Auth0 | Azure AD | Okta | AWS Cognito | OIDC

Vue d’ensemble

Pour configurer un système d’authentification personnalisé pour votre site GitBook, suivez ces étapes clés :

1

Créez un backend personnalisé pour authentifier vos utilisateurs

Implémentez un backend qui invite les utilisateurs à se connecter et les authentifie.

2

Signez et transmettez un jeton JWT à GitBook

Créez un jeton JWT et signez-le avec la clé privée de votre site.

3

Configurez une URL de connexion

Configurez une URL à utiliser lorsqu’un visiteur non authentifié accède à votre site.

4

Configurez l’accès authentifié multi-tenant (facultatif)

Configurez votre backend pour gérer l’authentification sur plusieurs sites GitBook.

5

Configurez votre backend pour le contenu adaptatif (facultatif)

Configurez votre backend pour fonctionner avec le contenu adaptatif dans GitBook.

1. Créez un backend personnalisé pour authentifier vos utilisateurs

Afin de commencer à authentifier les utilisateurs avant qu’ils puissent consulter votre documentation, vous devrez mettre en place un serveur capable de gérer la connexion et l’authentification des utilisateurs.

Votre backend doit :

  • Inviter les utilisateurs à se connecter à l’aide de votre méthode d’authentification préférée.

  • Valider les identifiants des utilisateurs et les authentifier.

  • Générer et signer un JSON Web Token (JWT) lors de l’authentification réussie.

  • Rediriger les utilisateurs vers GitBook avec le JWT inclus dans l’URL.

2. Signez et transmettez un jeton JWT à GitBook

Une fois que votre backend a authentifié un utilisateur, il doit générer un JWT et le transmettre à GitBook lors de la redirection vers votre site. Le jeton doit être signé à l’aide de la clé privée fournie dans les paramètres d’audience de votre site après l’activation de l’accès authentifié.

L’exemple suivant devrait montrer à quoi pourrait ressembler un gestionnaire de requêtes de connexion dans votre backend personnalisé :

Déconnectez les visiteurs de leur session GitBook

Pour déconnecter un visiteur de sa session GitBook, redirigez-le vers l’URL de votre site avec ~gitbook/auth/logout ajouté :

https://mycompany.gitbook.io/myspace/~gitbook/auth/logout

Ce point de terminaison ne déconnecte le visiteur que de GitBook. Si vous souhaitez également le déconnecter de votre propre fournisseur d’identité, gérez cela séparément dans votre propre flux de déconnexion.

3. Configurez une URL de connexion

L’URL de connexion est utilisée lorsqu’un visiteur non authentifié tente d’accéder à votre site protégé. GitBook le redirigera alors vers cette URL.

Cette URL doit pointer vers un gestionnaire de votre backend personnalisé, où vous pourrez lui demander de se connecter, l’authentifier, puis le rediriger vers votre site avec le JWT inclus dans l’URL.

Par exemple, si votre écran de connexion se trouve à https://example.com/login, vous devez inclure cette valeur comme URL de connexion.

Vous pouvez configurer cette URL de connexion dans les paramètres d’audience de votre site, sous l’onglet « Accès authentifié ».

A GitBook screenshot showing where to configure a login URL
Configurez une URL de connexion

Utilisez le point de terminaison de connexion de GitBook

Si vous souhaitez un lien de connexion sur votre site publié, pointez vers <publishedSiteURL>/~gitbook/auth/login.

Ce point de terminaison redirige le visiteur vers le backend d’authentification configuré pour le site. Il ajoute également un emplacement paramètre de requête correspondant à la page depuis laquelle ils ont commencé.

C’est utile pour les liens d’en-tête et autres points d’entrée lorsque vous voulez renvoyer les visiteurs vers la même page après la connexion.

Lors de la redirection vers l’URL de connexion, GitBook inclut un emplacement paramètre de requête dans l’URL de connexion que vous pouvez exploiter dans votre gestionnaire pour rediriger l’utilisateur vers l’emplacement d’origine de l’utilisateur :

circle-exclamation

Utilisez le point de terminaison de déconnexion de GitBook

Si vous souhaitez un lien de déconnexion sur votre site publié, pointez vers <publishedSiteURL>/~gitbook/auth/logout.

Ce point de terminaison déconnecte le visiteur de sa session GitBook.

4. Configurez l’accès authentifié multi-tenant (facultatif)

Si vous utilisez GitBook comme plateforme pour fournir du contenu à vos différents clients, vous devez probablement configurer un accès authentifié multi-tenant. Votre backend d’authentification doit être chargé de gérer l’authentification sur plusieurs sites différents. C’est possible dans GitBook avec quelques petites modifications de votre code de backend d’authentification personnalisé.

Ajout de tous les tenants à votre serveur d’authentification

Votre backend d’authentification devra connaître les clés de signature JWT et les URL de tous les sites GitBook qu’il doit gérer. Si vous avez deux sites dans votre organisation pour le client A et le client B, vous pouvez imaginer que votre code d’authentification stocke un tel mappage :

Fournir un contexte supplémentaire à votre serveur d’authentification

Lorsque GitBook n’est pas en mesure d’authentifier la requête d’un utilisateur, il le redirige vers l’URL de connexion. Cette URL pointe vers votre backend d’authentification, chargé d’authentifier l’utilisateur et de le rediriger vers le contenu demandé.

Pour prendre en charge plusieurs tenants, votre backend d’authentification doit savoir à quel site GitBook l’utilisateur est censé accéder. Cette information peut être transmise dans l’URL de connexion.

Par exemple, vous pourriez configurer les URL de connexion de chaque site comme suit :

Votre backend d’authentification peut alors vérifier ces informations et gérer la redirection vers le bon site en conséquence :

5. Configurez votre backend pour le contenu adaptatif (facultatif)

Pour tirer parti de la fonctionnalité de contenu adaptatif dans votre configuration d’accès authentifié, vous pouvez inclure des attributs utilisateur supplémentaires (revendications) dans la charge utile du JWT que votre backend personnalisé génère et inclure dans l’URL lors de la redirection de l’utilisateur vers le site.

Ces revendications, lorsqu’elles sont incluses dans le JWT, sont utilisées par GitBook pour adapter le contenu de manière dynamique pour les visiteurs de votre site.

En résumé, l’exemple de code suivant montre comment vous pourriez inclure ces revendications dans le JWT, qui pourra ensuite être utilisé par GitBook pour adapter le contenu à vos visiteurs :

Après avoir configuré les bonnes revendications à envoyer à GitBook, rendez-vous dans «Adapter votre contenu» pour poursuivre la configuration de votre site.

Mis à jour

Ce contenu vous a-t-il été utile ?