Saltar al contenido principal
Los planes Pro incluyen autenticación por contraseña.Los planes personalizados incluyen todos los métodos de autenticación.
La autenticación exige que los usuarios inicien sesión antes de acceder a tu documentación. Cuando habilites la autenticación, los usuarios deberán iniciar sesión para acceder a cualquier contenido. Puedes configurar páginas o grupos específicos como públicos mientras mantienes otras páginas protegidas.

Configurar la autenticación

Selecciona el método de handshake que quieres configurar.
La autenticación mediante contraseña proporciona únicamente control de acceso y no permite la personalización del contenido.

Requisitos previos

  • Tus requisitos de seguridad permiten compartir contraseñas entre usuarios.

Configuración

1

Crea una contraseña.

  1. En tu dashboard, ve a Authentication.
  2. Habilita la autenticación.
  3. En la sección Password Protection, introduce una contraseña segura
Después de introducir una contraseña, tu sitio se vuelve a implementar automáticamente. Cuando la implementación haya finalizado, cualquiera que visite tu sitio deberá introducir la contraseña para acceder a tu contenido.
2

Distribuye el acceso.

Comparte de forma segura la contraseña y la URL de la documentación con los usuarios autorizados.

Ejemplo

Alojas tu documentación en docs.foo.com y necesitas un control de acceso básico sin hacer seguimiento de usuarios individuales. Quieres evitar el acceso público sin complicar la configuración.Crea una contraseña segura en tu dashboard. Comparte las credenciales con los usuarios autorizados. ¡Eso es todo!

Hacer públicas las páginas

Cuando uses Autenticación, todas las páginas están protegidas de forma predeterminada. Puedes hacer que páginas específicas sean visibles sin autenticación a nivel de página o de grupo con la propiedad public.

Páginas individuales

Para hacer pública una página, agrega public: true al frontmatter de la página.
Public page example
---
title: "Página pública"
public: true
---

Grupos de páginas

Para hacer públicas todas las páginas de un grupo, añade "public": true debajo del nombre del grupo en el objeto navigation de tu docs.json.
Public group example
{
  "navigation": {
    "groups": [
      {
        "group": "Grupo público",
        "public": true,
        "icon": "play",
        "pages": [
          "quickstart",
          "installation",
          "settings"
        ]
      },
      {
        "group": "Grupo privado",
        "icon": "pause",
        "pages": [
          "private-information",
          "secret-settings"
        ]
      }
    ]
  }
}

Controla el acceso con groups

Cuando usas OAuth o autenticación con JWT (JSON Web Token), puedes restringir páginas específicas a ciertos grupos de usuarios. Esto es útil cuando quieres que distintos usuarios vean contenido diferente según su rol o atributos. Administra los grupos mediante los datos del usuario enviados durante la autenticación. Consulta Formato de datos de usuario para más detalles.
Example user info
{
  "groups": ["admin", "beta-users"],
  "expiresAt": 1735689600
}
Especifica qué groups pueden acceder a páginas determinadas usando la propiedad groups en el frontmatter.
Example page restricted to the admin group
---
title: "Panel de administración"
groups: ["admin"]
---
Los usuarios deben pertenecer al menos a uno de los groups enumerados para acceder a la página. Si un usuario intenta acceder a una página sin el group requerido, recibirá un error 404.

Cómo interactúan los groups con las páginas públicas

  • Todas las páginas requieren Autenticación de forma predeterminada.
  • Las páginas con una propiedad groups solo son accesibles para usuarios autenticados dentro de esos groups.
  • Las páginas sin la propiedad groups son accesibles para todos los usuarios autenticados.
  • Las páginas con public: true y sin la propiedad groups son accesibles para cualquier persona.
---
title: "Guía pública"
public: true
---

Formato de datos de usuario

Cuando utilices autenticación OAuth o JWT, tu sistema devolverá datos de usuario que controlan la duración de la sesión y la pertenencia a grupos para el control de acceso.
type User = {
  expiresAt?: number;
  groups?: string[];
};
expiresAt
number
Momento de expiración de la sesión en segundos desde el epoch. Cuando la hora actual supera este valor, el usuario debe volver a autenticarse.
Para JWT: Esto es diferente del claim exp del JWT, que determina cuándo un JWT se considera inválido. Configura el claim exp del JWT con una duración corta (10 segundos o menos) por seguridad. Usa expiresAt para la duración real de la sesión (de horas a semanas).
groups
string[]
Lista de los grupos a los que pertenece el usuario. Las páginas cuyo frontmatter tenga un groups coincidente son accesibles para este usuario.Ejemplo: Un usuario con groups: ["admin", "engineering"] puede acceder a páginas etiquetadas con los grupos admin o engineering.