簡體   English   中英

我如何在 swagger/nodejs 中檢查不記名令牌

[英]How can i check bearer token in swagger/nodejs

我使用 swagger,我今天添加了 auth。 但即使我寫了像“ a ”或“ abc”之類的任何字母或仍在輸入的內容。 我如何檢查它是否是使用 swagger 的真實令牌? 我的代碼:

const options = {
  definition: {
    openapi: "3.0.0",
    info: {
      title: "İlaç Takip Sistemi API",
      version: "2.0.0",
      description: "ITS API Swagger",
    },
    servers: [
      {
        url: "http://localhost:3100",
      },
    ],
    components: {
      securitySchemes: {
        bearerAuth: {
          type: "apiKey",
          name: "x-auth-token",
          scheme: "bearer",
          in: "header",
        },
      },
    },
    security: [
      {
        bearerAuth: [],
      },
    ],
  },
  apis: ["./app/routes.js"],
};
const specs = swaggerJsDoc(options);
app.use("/swagger", swaggerUI.serve, swaggerUI.setup(specs));

這是我檢查令牌的方式:

jwt.verify(req.token, process.env.SECRETKEY, (err, authData) => {
      if (err) {
        res.sendStatus(401);
      } else {
        res.json(authData);
      }
    });

當我將我的令牌寫成 swagger 時,然后在那里做我的工作,但是當我嘗試從 swagger 開始時,它說未經授權甚至我的令牌是真實的並且在我嘗試郵遞員時工作。

更改您的安全方案如下:

        bearerAuth: {
          type: "http",
          scheme: "bearer",
        },

這樣,“Bearer”前綴將自動添加到您在 Swagger UI 中輸入的令牌中。

當使用type: "apiKey"進行 Bearer 身份驗證時,您必須在令牌值中包含“Bearer”前綴,即在 Swagger UI 中輸入令牌作為Bearer abc123

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM