Necesito poder agregar el siguiente botón a la interfaz de usuario de Swagger para que los evaluadores puedan agregar el encabezado "Token de portador" y probar las API.
La definición de opción de mi swagger es:
module.exports = { definition: { openapi: "3.0.3", info: { title: "APIs", version: "1.0.0", }, servers: [ { url: `http://localhost:${process.env.PORT}` } ], securityDefinitions: { bearerAuth: { type: 'apiKey', name: 'Authorization', scheme: 'bearer', in: 'header', }, } }, apis: ["./routes/*.js", "app.js"], };y mi punto final es el siguiente:
/** * @swagger * /api/users/test: * post: * security: * - Bearer: [] * summary: test authorization * tags: [User] * description: use to test authorization JWT * responses: * '200': * description: success * '500': * description: Internal server error */ router.post('/test', verifyJWT(), async (req, res) => { res.send('hi'); })¿Está utilizando OAS v3? Tiene errores en sus declaraciones, por ejemplo, securityDefinitions ahora se llama securitySchemes y está dentro components .
Consulte https://swagger.io/docs/specification/authentication/
Cuando corrige su esquema, agrega una propiedad de security a su ruta para protegerlo con un esquema de seguridad para que obtenga el botón verde Authorize .
components: securitySchemes: BearerAuth: type: http scheme: bearer paths: /api/users/test: post: security: - BearerAuth: []