javascript - 我如何在 swagger/nodejs 中检查不记名令牌
问题描述
我使用招摇,我今天添加身份验证。但是,即使我写了“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);
}
});
解决方案
当我将我的令牌写成招摇时,然后在那里做我的工作,但是当我从招摇中尝试时,它说未经授权,即使我的令牌也是真实的,并且在我尝试使用邮递员时正在工作。
更改您的安全方案如下:
bearerAuth: {
type: "http",
scheme: "bearer",
},
这样,“Bearer”前缀将自动添加到您在 Swagger UI 中输入的令牌中。
当type: "apiKey"
用于 Bearer 身份验证时,您必须在令牌值中包含“Bearer”前缀,即像Bearer abc123
在 Swagger UI 中一样输入令牌。
推荐阅读
- config - 当我启动 Jasper 时,Raspberry pi 出现错误
- python - 如何从 Amazon SageMaker 可读格式模型(需要部署为 Sagemaker 终端节点)中获取 tf.Keras 模型对象?
- android - Kotlin 中的 Android-App:更新 imageView 仅更新最后一个选项
- python - elasticsearch如何找到具有精确单词匹配的文档
- python - 如何使用单独文件中的函数在 Python 中运行多个 MySQL 文件
- php - 如何使用 V8 Web Control 在 Bing 地图上显示指定半径内的特定位置?
- python - 如何解决 Arcgis python 中出现奇怪的未处理错误的问题
- c++ - 在浮点数的比较中使用 epsilon 是否会破坏严格的弱排序?
- google-fit - Google Fit 支持的可穿戴设备
- docker-compose - 我无法在 docker-compose 中维护卷