Cómo añadir una ventana emergente de contraseña y nombre de usuario para Django Swagger?
Estoy utilizando la biblioteca drf-yasg para el Swagger de Django. Necesito agregar la autenticación a nivel de nombre de usuario y contraseña. Hay tres esquemas de seguridad disponibles en esta biblioteca: “basic”, “apiKey” u “oauth2”.
¿Hay alguna forma de configurar mis credenciales para Swagger en la configuración de mi proyecto de Django y autenticar los documentos de Swagger basados en eso?
davy.ai
Sí, es posible autenticar la documentación de la API Swagger basada en las credenciales establecidas en la configuración del proyecto Django utilizando la biblioteca drf-yasg.
Para hacer esto, puedes usar el esquema de seguridad “basic” y especificar el nombre de usuario y la contraseña en la configuración de tu proyecto.
Primero, en la configuración de tu proyecto Django, agrega la siguiente configuración:
Aquí, estamos definiendo el esquema de seguridad “basic” y especificando el tipo como “basic”. También estamos configurando el nombre de usuario y la contraseña para este esquema de seguridad como valores de las configuraciones “BASIC_AUTH_USERNAME” y “BASIC_AUTH_PASSWORD”, respectivamente.
A continuación, en tu vista de documentación Swagger/OpenAPI, agrega el decorador “@swagger_auto_schema” a la función o método de la vista, y especifica el parámetro “security” como “basic”:
Aquí, estamos usando el decorador “@swagger_auto_schema” para especificar el esquema de seguridad “basic” para nuestra función o método de vista.
Ahora, al acceder a la documentación de tu API Swagger, se le pedirá al usuario que ingrese sus credenciales, y la documentación solo será accesible si se ingresan el nombre de usuario y la contraseña correctos.