Passer au contenu principal
Les offres Pro incluent l’authentification par mot de passe.Les offres Custom incluent toutes les méthodes d’authentification.
L’authentification exige que les utilisateurs se connectent avant d’accéder à votre documentation. Lorsque vous activez l’authentification, les utilisateurs doivent se connecter pour accéder à l’ensemble du contenu. Vous pouvez définir certaines pages ou certains groupes comme publics tout en gardant les autres pages protégées.

Configurer l’authentification

Sélectionnez la méthode de poignée de main que vous souhaitez configurer.
L’authentification par mot de passe fournit uniquement un contrôle d’accès et ne prend pas en charge la personnalisation du contenu.

Prérequis

  • Vos exigences de sécurité autorisent le partage de mots de passe entre les utilisateurs.

Configuration

1

Créer un mot de passe.

  1. Dans votre Dashboard, accédez à Authentication.
  2. Activez l’authentification.
  3. Dans la section Password Protection, saisissez un mot de passe sécurisé
Après avoir saisi un mot de passe, votre site est redéployé. Une fois le déploiement terminé, toute personne visitant votre site doit entrer le mot de passe pour accéder à votre contenu.
2

Distribuer l'accès.

Partagez de manière sécurisée le mot de passe et l’URL de la documentation avec les utilisateurs autorisés.

Exemple

Vous hébergez votre documentation sur docs.foo.com et vous avez besoin d’un contrôle d’accès de base sans suivi des utilisateurs individuels. Vous voulez empêcher l’accès public tout en gardant la configuration simple.Créez un mot de passe robuste dans votre Dashboard. Partagez les identifiants de connexion avec les utilisateurs autorisés. C’est tout !

Rendre des pages publiques

Lorsque vous utilisez l’authentification, toutes les pages nécessitent par défaut une authentification pour y accéder. Vous pouvez autoriser l’accès à certaines pages sans authentification, au niveau de la page ou du groupe, à l’aide de la propriété public.

Pages individuelles

Pour rendre une page publique, ajoutez public: true au frontmatter de la page.
Public page example
---
title: "Page publique"
public: true
---

Groupes de pages

Pour rendre toutes les pages d’un groupe publiques, ajoutez “public”: true sous le nom du groupe dans l’objet navigation de votre docs.json.
Public group example
{
  "navigation": {
    "groups": [
      {
        "group": "Groupe public",
        "public": true,
        "icon": "play",
        "pages": [
          "quickstart",
          "installation",
          "settings"
        ]
      },
      {
        "group": "Groupe privé",
        "icon": "pause",
        "pages": [
          "private-information",
          "secret-settings"
        ]
      }
    ]
  }
}

Contrôler l’accès avec des groupes

Lorsque vous utilisez l’authentification OAuth ou des JWT (JSON Web Tokens), vous pouvez restreindre certaines pages à des groupes d’utilisateurs spécifiques. C’est utile si vous souhaitez que différents utilisateurs voient des contenus différents selon leur rôle ou leurs attributs. Gérez les groupes via les données utilisateur transmises lors de l’authentification. Voir Format des données utilisateur pour plus de détails.
Example user info
{
  "groups": ["admin", "beta-users"],
  "expiresAt": 1735689600
}
Indiquez quels groupes peuvent accéder à des pages spécifiques à l’aide de la propriété groups dans le frontmatter.
Example page restricted to the admin group
---
title: "Dashboard administrateur"
groups: ["admin"]
---
Les utilisateurs doivent appartenir à au moins un des groupes répertoriés pour accéder à la page. Si un utilisateur tente d’accéder à une page sans le groupe requis, il recevra une erreur 404.

Fonctionnement des groupes avec les pages publiques

  • Par défaut, toutes les pages nécessitent une authentification.
  • Les pages comportant une propriété groups ne sont accessibles qu’aux utilisateurs authentifiés appartenant à ces groupes.
  • Les pages sans propriété groups sont accessibles à tous les utilisateurs authentifiés.
  • Les pages avec public: true et sans propriété groups sont accessibles à tout le monde.
---
title: "Guide public"
public: true
---

Format des données utilisateur

Lorsque vous utilisez l’authentification OAuth ou JWT, votre système renvoie des données utilisateur qui contrôlent la durée de la session et l’appartenance à des groupes pour le contrôle d’accès.
type User = {
  expiresAt?: number;
  groups?: string[];
};
expiresAt
number
Heure d’expiration de la session, en secondes depuis l’époque Unix. Lorsque l’heure actuelle dépasse cette valeur, l’utilisateur doit s’authentifier de nouveau.
Pour les JWT : cela diffère de la revendication exp d’un JWT, qui détermine le moment où un JWT est considéré comme invalide. Par mesure de sécurité, définissez la revendication exp du JWT sur une durée courte (10 secondes ou moins). Utilisez expiresAt pour la durée réelle de la session (de quelques heures à plusieurs semaines).
groups
string[]
Liste des groupes auxquels l’utilisateur appartient. Les pages dont le champ groups dans le frontmatter contient une valeur correspondante sont accessibles à cet utilisateur.Exemple : Un utilisateur avec groups: ["admin", "engineering"] peut accéder aux pages étiquetées avec admin ou engineering dans leur champ groups du frontmatter.