[英]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.