Jwt
Esta es la documentación para el apretón de manos de autenticación Authentication JWT. Los pasos para configurar el apretón de manos de JWT Personalization Handshake son ligeramente diferentes.
Si no tienes un panel de control, o si quieres mantener tu panel y documentos completamente separados, puedes usar tu propio flujo de inicio de sesión para autenticar usuarios a través de un JWT en la URL.
Implementación
Genera una clave privada
Ve a tu dashboard settings y genera una clave privada. Almacena esta clave en un lugar seguro donde pueda ser accedida por tu backend.
Crea un flujo de inicio de sesión
Crea un flujo de inicio de sesión que haga lo siguiente:
- Autenticar al usuario
- Crear un JWT que contenga la información del usuario autenticado en el formato User
- Firmar el JWT con la clave secreta, usando el algoritmo EdDSA
- Crear una URL de redirección de vuelta a la ruta
/login/jwt-callback
de tus documentos, incluyendo el JWT como el hash
Configura tus ajustes de autenticación
Vuelve a tu dashboard settings y agrega la URL de inicio de sesión a tus ajustes de autenticación.
Ejemplo
Quiero configurar la autenticación para mis documentos alojados en docs.foo.com
. Quiero que mis documentos estén completamente separados de mi panel de control (o no tengo un panel de control en absoluto).
Para configurar la autenticación con Mintlify, voy a mi panel de Mintlify y genero un secreto JWT. Creo una URL web https://foo.com/docs-login
que inicia un flujo de inicio de sesión para mis usuarios. Al final de este flujo de inicio de sesión, una vez que he verificado la identidad del usuario, creo un JWT que contiene los datos personalizados del usuario según la especificación de Mintlify. Uso una biblioteca JWT para firmar este JWT con mi secreto de Mintlify, creo una URL de redirección de la forma https://docs.foo.com/login/jwt-callback#{SIGNED_JWT}
, y redirijo al usuario.
Luego voy a la configuración del panel y ingreso https://foo.com/docs-login
en el campo URL de inicio de sesión.
Así es como podría verse el código:
Redirigiendo usuarios no autenticados
Cuando un usuario no autenticado intenta acceder a una página específica, Mintlify preserva su destino previsto a través de un flujo de redirección:
-
El usuario intenta visitar una página determinada (por ejemplo,
/quickstart
) -
Mintlify los redirige a tu URL de inicio de sesión y agrega el destino original (relativo) como un parámetro de consulta
redirect
Example:
-
Solicitud original:
https://docs.foo.com/quickstart
-
Redirección al inicio de sesión:
https://foo.com/docs-login?redirect=%2Fquickstart
Después de una autenticación exitosa, puedes incluir este mismo parámetro redirect
en tu URL de devolución de llamada JWT para enviar a los usuarios a su destino previsto:
https://docs.foo.com/login/jwt-callback?redirect=%2Fquickstart#{SIGNED_JWT}