Configuración de autenticación
Configura la autenticación de usuarios para controlar el acceso a páginas y referencias de API con contraseña, OAuth, JWT o acceso privado en Mintlify.
La autenticación privada para tu organización de Mintlify está disponible en todos los planes.
La autenticación por contraseña requiere un plan Pro o Enterprise.
La autenticación con OAuth y JWT requiere un plan Enterprise.
La autenticación exige que los usuarios inicien sesión antes de acceder a tu contenido.
Puedes configurar autenticación completa para todas las páginas o autenticación parcial en la que algunas páginas son públicas y otras requieren autenticación.
La autenticación solo está disponible para sitios alojados en un dominio personalizado o subdominio de Mintlify. Por ejemplo, docs.ejemplo.com o ejemplo.mintlify.site. La autenticación no es compatible para sitios con una subruta personalizada. Por ejemplo, ejemplo.com/docs.
Usa esta comparación para elegir el método que se adapte a tu caso de uso. Consulta Disponibilidad de funciones para ver cómo interactúa cada método con otras funciones de Mintlify.
| Método | Ideal para | Plan | Control de acceso basado en grupos | Autocompletado del área de pruebas de la API | Personalización |
|---|---|---|---|---|---|
| Contraseña | Acceso compartido sencillo sin seguimiento por usuario | Pro o Enterprise | — | — | — |
| Autenticación privada | Documentación interna para miembros de tu organización de Mintlify | Todos los planes | — | — | — |
| OAuth 2.0 | Proveedor de identidad existente o SSO con sesiones por usuario | Enterprise | ✓ | ✓ | ✓ |
| JWT | Backend de autenticación personalizado o documentación integrada detrás de tu propio inicio de sesión | Enterprise | ✓ | ✓ | ✓ |
La autenticación mediante contraseña proporciona únicamente control de acceso y no admite funciones específicas por usuario, como el control de acceso basado en grupos o el autocompletado previo del área de pruebas de la API.
Requisitos previos de la contraseña
- Tus requisitos de seguridad permiten compartir contraseñas entre usuarios.
Configuración de la contraseña
Crea una contraseña.
- En tu dashboard, ve a Authentication.
- En la sección Authentication method, establece la visibilidad del sitio en Private.
- Haz clic en Password.
- Introduce una contraseña segura.
- Haz clic en Save changes.
Después de guardar, 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.
Distribuye el acceso.
Comparte de forma segura la contraseña y la URL de la documentación con los usuarios autorizados.
Ejemplo de contraseña
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.
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.
Para hacer pública una página, agrega public: true al frontmatter de la página.
---
title: "Página pública"
public: true
---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.
{
"navigation": {
"groups": [
{
"group": "Grupo público",
"public": true,
"icon": "play",
"pages": [
"quickstart",
"installation",
"settings"
]
},
{
"group": "Grupo privado",
"icon": "pause",
"pages": [
"private-information",
"secret-settings"
]
}
]
}
}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.
{
"groups": ["admin", "beta-users"],
"expiresAt": 1735689600
}Especifica qué groups pueden acceder a páginas determinadas usando la propiedad groups en el frontmatter.
---
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.
- Todas las páginas requieren Autenticación de forma predeterminada.
- Las páginas con una propiedad
groupssolo son accesibles para usuarios autenticados dentro de esos groups. - Las páginas sin la propiedad
groupsson accesibles para todos los usuarios autenticados. - Las páginas con
public: truey sin la propiedadgroupsson accesibles para cualquier persona.
---
title: "Guía pública"
public: true
---Cuando utilices autenticación OAuth o JWT, tu sistema devolverá datos de usuario que controlan la duración de la sesión, la pertenencia a grupos y la personalización de contenido.
type User = {
host?: string;
expiresAt?: number;
groups?: string[];
content?: Record<string, any>;
apiPlaygroundInputs?: {
server?: Record<string, string>;
header?: Record<string, unknown>;
query?: Record<string, unknown>;
cookie?: Record<string, unknown>;
path?: Record<string, unknown>;
};
};hoststringObligatorio para la autenticación JWT. El nombre de host de tu sitio de documentación. La cadena debe coincidir exactamente con el dominio donde implementas tu documentación. Mintlify valida que el host del JWT coincida con el host de la solicitud para evitar la reutilización de tokens entre diferentes sitios.
expiresAtnumberMomento 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.
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).groupsstring[]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.
contentRecord<string, any>Datos personalizados accesibles en páginas MDX mediante la variable user para contenido personalizado.
apiPlaygroundInputsobjectRellena previamente los campos del área de pruebas de la API con valores específicos del usuario. Cuando un usuario se autentica, estos valores rellenan los campos de entrada correspondientes en el área de pruebas de la API. Los usuarios pueden sobrescribir los valores rellenados previamente, y sus cambios persisten en el almacenamiento local.
Mintlify aplica únicamente los valores que coinciden con el esquema de seguridad del endpoint actual.
Show Hide propiedades
headerRecord<string, unknown>Valores de encabezado que se van a rellenar previamente, indexados por nombre de encabezado.
queryRecord<string, unknown>Valores de parámetros de búsqueda que se van a rellenar previamente, indexados por nombre de parámetro.
cookieRecord<string, unknown>Valores de cookies que se van a rellenar previamente, indexados por nombre de cookie.
serverRecord<string, string>Valores de variables de servidor que se van a rellenar previamente, indexados por nombre de variable.
pathRecord<string, unknown>Valores de parámetros de ruta que se van a rellenar previamente, indexados por nombre de parámetro.
Algunas funciones se comportan de manera diferente o no están disponibles cuando habilitas la autenticación. Mintlify no admite el alojamiento público de archivos arbitrarios en un sitio autenticado. Todos los archivos alojados, incluidos llms.txt, llms-full.txt y skill.md, están sujetos a los mismos requisitos de autenticación que las páginas de tu documentación.
| Función | Público | Totalmente autenticado (todas las páginas protegidas) | Parcialmente autenticado (algunas páginas públicas) |
|---|---|---|---|
| llms.txt and llms-full.txt | Compatibilidad completa | Disponible tras autenticación, por lo que es posible que las herramientas de IA no puedan acceder a los archivos | Disponible tras autenticación, por lo que es posible que las herramientas de IA no puedan acceder a los archivos |
| Servidor MCP | Compatibilidad completa | Requiere autenticación para conectarse | Disponible sin autenticación para páginas públicas y con autenticación para páginas protegidas |
| Exportación a Markdown | Compatibilidad completa | Compatibilidad completa, respeta los grupos de usuarios | Compatibilidad completa, respeta los grupos de usuarios |
| Exportación a PDF | Compatibilidad completa | Compatibilidad completa, respeta los grupos de usuarios. Las páginas autenticadas se exportan con imágenes y recursos incluidos. | Compatibilidad completa, respeta los grupos de usuarios. Las páginas autenticadas se exportan con imágenes y recursos incluidos. |
| Búsqueda | Compatibilidad completa | Compatibilidad completa, respeta los grupos de usuarios | Compatibilidad completa, respeta los grupos de usuarios |
| Assistant | Compatibilidad completa | Compatibilidad completa, respeta los grupos de usuarios | Compatibilidad completa, respeta los grupos de usuarios |
| skill.md | Compatibilidad completa | No compatible | No compatible |
| Mapa del sitio | Compatibilidad completa | Disponible tras autenticación, pero excluye las páginas en groups | Disponible tras autenticación, pero excluye las páginas en groups |
| robots.txt | Compatibilidad completa | Disponible tras autenticación | Disponible tras autenticación |