Apidog le permite proteger su documentación de API publicada con autenticación personalizada. Esta guía le explica cómo configurar una página de inicio de sesión personalizada que se integra con su sistema de autenticación existente mediante JWT (JSON Web Token).
Vaya a la configuración de visibilidad del sitio de documentación, seleccione Página de inicio de sesión personalizada y complete los dos campos siguientes:
Secreto JWT: Se utiliza para verificar la firma del token. Debe ser el mismo que el secreto que utiliza su backend al emitir JWT. Debe generar este secreto usted mismo.
URL de inicio de sesión: Cuando los usuarios accedan al sitio de documentación en línea, serán redirigidos a esta URL. Debe alojar una página de inicio de sesión en esta dirección e implementar la autenticación y la generación de tokens en su backend.
Esta página de inicio de sesión no la proporciona Apidog; debe crearla y alojarla usted mismo.
JWT (JSON Web Token) es un estándar abierto para la autenticación de usuarios. Su sistema de inicio de sesión debe seguir el flujo que se indica a continuación:
1.
Un usuario visita el sitio de documentación en línea publicado por Apidog (por ejemplo, https://xxxxx.apidog.io);
2.
El sistema lo redirige automáticamente a su página de inicio de sesión configurada (por ejemplo, http://localhost:3000);
3.
El usuario introduce sus credenciales y envía el formulario;
4.
Su backend verifica las credenciales del usuario;
5.
Tras una autenticación correcta, su backend genera un JWT firmado con el secreto configurado (por ejemplo, pJRdFC3amihQdWbHvUXNZG9WzYdEGHao);
6.
A continuación, redirija al usuario de vuelta al sitio de documentación (por ejemplo, https://xxxxx.apidog.io) e incluya el token como un parámetro de consulta llamado auth_token, como se muestra a continuación.
7.
Apidog validará automáticamente el token. Si la validación es correcta, el usuario podrá acceder al contenido de la documentación.
El flujo de inicio de sesión se ilustra en el diagrama siguiente:
Al implementar su página de inicio de sesión personalizada, tenga en cuenta estos requisitos:
Generación de JWT: Los JWT deben ser generados por su backend y firmados con el secreto configurado en Apidog
Transmisión del token: El JWT debe devolverse al sitio de documentación mediante el parámetro de URL auth_token
Validación automática: Apidog analizará y validará automáticamente la firma del token
Dominio flexible: La URL del sitio de documentación puede ser la dirección predeterminada proporcionada por Apidog o un dominio personalizado que usted haya configurado
¿Qué stack tecnológico puedo utilizar para la página de inicio de sesión?
No hay restricciones. Siempre que su backend pueda gestionar peticiones POST de inicio de sesión y devolver una URL que contenga auth_token, funcionará. Node.js, PHP, Python, Go, etc., son compatibles.