Permite que los usuarios inicien sesión para obtener experiencias de documentación personalizadas
La personalización adapta tu documentación a cada usuario cuando inicia sesión. Por ejemplo, puedes completar automáticamente sus API keys, mostrar contenido específico según su plan o rol, u ocultar secciones a las que no necesitan acceder.
Rellena automáticamente los campos del área de pruebas de la API con valores específicos del usuario devolviendo nombres de campos que coincidan en tus datos de usuario. Los nombres de campos en tus datos de usuario deben coincidir exactamente con los nombres del área de pruebas de la API para que el prefill automático funcione.
Restringe qué páginas son visibles para tus usuarios añadiendo campos groups al frontmatter de tus páginas. De forma predeterminada, todas las páginas son visibles para todos los usuarios.Los usuarios solo verán las páginas de los groups a los que pertenecen.
Reportar código incorrecto
Copiar
Preguntar a la IA
---title: "Gestión de tus usuarios"description: "Agregar y eliminar usuarios de tu organización"groups: ["admin"]---
Al implementar la personalización, tu sistema devuelve los datos del usuario en un formato específico que permite la personalización del contenido. Estos datos pueden enviarse como un objeto JSON sin procesar o dentro de un JWT (JSON Web Token) firmado, según el método de autenticación que utilices. La estructura de los datos es la misma en ambos casos.
Tiempo de expiración de la sesión en segundos desde el epoch. Si el usuario carga una página después de este momento, sus datos almacenados se eliminan automáticamente y debe volver a autenticarse.
Para intercambios con JWT: Esto difiere del atributo exp del JWT, que determina cuándo se considera inválido un JWT. Por seguridad, establece el exp del JWT en una duración corta (10 segundos o menos). Usa expiresAt para la duración real de la sesión (de horas a semanas).
Lista de grupos a los que pertenece el usuario. Las páginas con groups coincidentes en su frontmatter son visibles para este usuario.Ejemplo: Un usuario con groups: ["admin", "engineering"] puede acceder a páginas etiquetadas con los grupos admin o engineering.
Welcome back, {user.firstName}! Your {user.plan} plan includes...
Con los datos de user del ejemplo, se mostraría como: Welcome back, Ronan! Your Enterprise plan includes…Renderizado condicional avanzado:
Reportar código incorrecto
Copiar
Preguntar a la IA
La autenticación es una función de Enterprise. { user.org === undefined ? <>To access this feature, first create an account at the <a href="https://dashboard.mintlify.com/login">Mintlify dashboard</a>.</> : user.org.plan !== 'enterprise' ? <>You are currently on the ${user.org.plan ?? 'free'} plan. See <a href="https://mintlify.com/pricing">our pricing page</a> for information about upgrading.</> : <>To request this feature for your enterprise org, contact your admin.</>}
La información en user solo está disponible para usuarios con sesión iniciada. Para los usuarios que no han iniciado sesión, el valor de user será {}. Para evitar que la página falle con usuarios desconectados, usa siempre el encadenamiento opcional en los campos de user. Por ejemplo, {user.org?.plan}.
Valores específicos del usuario que rellenan por adelantado los campos del área de pruebas de la API. Ahorra tiempo a los usuarios al autocompletar sus datos cuando prueban APIs.Ejemplo:
Si un usuario realiza solicitudes en un subdomain específico, puedes enviar { server: { subdomain: 'foo' } } como un campo apiPlaygroundInputs. Este valor se rellenará por adelantado en cualquier página de la API con el valor subdomain.
Los campos header, query y cookie solo se rellenarán por adelantado si forman parte de tu esquema de seguridad de OpenAPI. Si un campo está en las secciones Authorization o Server, se rellenará por adelantado. Crear un parámetro de encabezado estándar llamado Authorization no habilitará esta función.
Ingresa la URL de tu flujo de inicio de sesión existente y selecciona Guardar cambios.
Selecciona Generate new key.
Almacena tu key de forma segura donde pueda accederla tu backend.
2
Integra la personalización de Mintlify en tu flujo de inicio de sesión.
Modifica tu flujo de inicio de sesión existente para incluir estos pasos después de que el usuario inicie sesión:
Crea un JWT que contenga la información del usuario que ha iniciado sesión en el formato User. Consulta la sección User data format más arriba para obtener más información.
Firma el JWT con la clave secreta, usando el algoritmo ES256.
Crea una URL de redirección de vuelta a tu documentación, incluyendo el JWT como hash.
Tu documentación está alojada en docs.foo.com. Quieres que tu documentación esté separada de tu dashboard (o no tienes un dashboard) y habilitar la personalización.Genera un secreto JWT. Luego, crea un endpoint de inicio de sesión en https://foo.com/docs-login que inicie un flujo de inicio de sesión hacia tu documentación.Después de verificar las credenciales del usuario:
Genera un JWT con los datos de usuario en el formato de Mintlify.
Firma el JWT y redirige a https://docs.foo.com#{SIGNED_JWT}.
Para redirigir a los usuarios a secciones específicas después de iniciar sesión, usa este formato de URL: https://docs.foo.com/page#jwt={SIGNED_JWT}&anchor={ANCHOR}.Ejemplo:
Authorization URL: Tu endpoint de autorización de OAuth.
Client ID: Tu identificador de cliente de OAuth 2.0.
Scopes: Permisos a solicitar. Copia la cadena de scope completa (por ejemplo, para un scope como provider.users.docs, copia el provider.users.docs completo). Debe coincidir con los scopes del endpoint que configuraste en el primer paso.
Token URL: Tu endpoint de intercambio de tokens de OAuth.
Info API URL: Endpoint para recuperar datos de usuario para la personalización. Creado en el primer paso.
Tu documentación está alojada en foo.com/docs y tienes un servidor OAuth existente que admite el flujo PKCE. Quieres personalizar tu documentación en función de los datos del usuario.Crea un endpoint de información de usuario en api.foo.com/docs/user-info, que requiera un token de acceso de OAuth con el scope provider.users.docs y responda con los datos personalizados del usuario:
Tienes un dashboard en dash.foo.com, que utiliza autenticación de sesión basada en cookies. Tus rutas de API del dashboard están alojadas en dash.foo.com/api. Quieres configurar la personalización para tu documentación alojada en docs.foo.com.Proceso de configuración:
Crea el endpointdash.foo.com/api/docs/user-info que identifique a los usuarios mediante autenticación de sesión y responda con sus datos de usuario.
Agrega encabezados CORS solo para esta ruta:
Access-Control-Allow-Origin: https://docs.foo.com
Access-Control-Allow-Credentials: true
Configura la URL de la API en la configuración de autenticación: https://dash.foo.com/api/docs/user-info.
Tienes un dashboard en dash.foo.com, que utiliza autenticación de sesión basada en cookies. Tus rutas de API del dashboard están alojadas en dash.foo.com/api. Quieres configurar la personalización para tu documentación alojada en foo.com/docs.Proceso de configuración:
Crea el endpointdash.foo.com/api/docs/user-info que identifique a los usuarios mediante autenticación de sesión y responda con sus datos de usuario.
Agrega encabezados CORS solo para esta ruta:
Access-Control-Allow-Origin: https://foo.com
Access-Control-Allow-Credentials: true
Configura la URL de la API en la configuración de autenticación: https://dash.foo.com/api/docs/user-info.
Tienes un dashboard en foo.com/dashboard, que utiliza autenticación de sesión basada en cookies. Tus rutas de API del dashboard están alojadas en foo.com/api. Quieres configurar la personalización para tu documentación alojada en foo.com/docs.Proceso de configuración:
Crea el endpointfoo.com/api/docs/user-info que identifique a los usuarios mediante autenticación de sesión y responda con sus datos de usuario.
Configura la URL de la API en la configuración de autenticación: https://foo.com/api/docs/user-info
No se necesita configuración de CORS, ya que el dashboard y la documentación comparten el mismo domain.