Configuration d'un backend personnalisé

Configurez un écran de connexion personnalisé pour les visiteurs de vos docs

circle-exclamation

Ce guide vous guide pour configurer un écran de connexion protégé pour votre site de documentation GitBook en utilisant 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

Aperçu

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

Mettez en œuvre un backend qui invite les utilisateurs à se connecter et les authentifie.

2

Signez et transmettez un token JWT à GitBook

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

3

Configurez une URL de secours

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

4

Configurez un accès authentifié multitenant (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 visiter 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 en utilisant votre méthode d'authentification préférée.

  • Valider les informations d'identification des utilisateurs et les authentifier.

  • Générer et signer un JSON Web Token (JWT) lors d'une authentification réussie.

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

2. Signez et transmettez un token JWT à GitBook

Une fois que votre backend authentifie un utilisateur, il doit générer un JWT et le transmettre à GitBook lors de leur redirection vers votre site. Le token doit être signé en utilisant la clé privée fourni dans les paramètres d'audience de votre site après activation de l'accès authentifié.

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

3. Configurez une URL de secours

L'URL de secours 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 dans votre backend personnalisé, où vous pouvez leur demander de se connecter, les authentifier puis les 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 secours.

Vous pouvez configurer cette URL de secours dans les paramètres d'audience de votre site sous l'onglet "Accès authentifié".

A GitBook screenshot showing where to configure a fallback URL
Configurez une URL de secours

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

circle-exclamation

4. Configurez un accès authentifié multitenant (facultatif)

Si vous utilisez GitBook comme plateforme pour fournir du contenu à vos différents clients, vous aurez probablement besoin de configurer un accès authentifié multitenant. Votre backend d'authentification doit être responsable de la gestion de l'authentification sur plusieurs sites différents. C'est possible dans GitBook avec quelques petits ajustements dans le code de votre backend d'authentification personnalisé.

Ajouter tous les locataires à 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 est censé 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 une telle correspondance :

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 secours. Cette URL pointe vers votre backend d'authentification, qui est responsable d'authentifier l'utilisateur et de le rediriger vers le contenu demandé.

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

Ainsi, par exemple, vous pourriez configurer les URL de secours pour chaque site comme suit :

Site GitBook
URL de secours

Site du client A

https://auth-backend.acme.org/login?site=customer-a

Site du client B

https://auth-backend.acme.org/login?site=customer-b

Votre backend d'authentification peut alors vérifier cette information 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 d'utilisateur supplémentaires (claims) dans la charge utile du JWT que votre backend personnalisé génère et inclut dans l'URL lors de la redirection de l'utilisateur vers le site.

Ces claims, lorsqu'ils sont inclus dans le JWT, sont utilisés par GitBook pour adapter le contenu dynamiquement pour les visiteurs de votre site.

Pour résumer, l'exemple de code suivant montre comment vous pourriez inclure ces claims dans le JWT, lesquels peuvent ensuite être utilisés par GitBook pour adapter le contenu pour vos visiteurs :

Après avoir configuré et défini les bons claims à envoyer à GitBook, rendez-vous dans “Adapter votre contenu” pour continuer à configurer votre site.

Mis à jour

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