我想使用node.js中的token jwt在azure函数中执行CRUD API。
1.我有一个使用登录名和密码登录的用户,成功登录后,我生成一个令牌并存储在本地存储中。
1.如果给定用户发送请求,例如GET /basic-data我必须使用'jsonwebtoken'包通过使用Azure函数中的中间件来验证令牌,该中间件将检查头部中的令牌是否与存储中的令牌相同。
问题是,我不能调用中间件,这是验证jwt令牌在azure功能。
例如:如果是用express写的,我们可以把under称为:
const verifytoken = require("./middleware/auth");
app.get("/welcome/bubble", verifytoken, async (req, res) => {
res.status(200).json({
status: res.statusCode,
userInfo: res.req.user,
});
});
但是在azure函数中:
const response = require("../traits/api_response");
const Database = require("../model/database");
const config = require("../config/config");
const verifyJWT = require("../middleware/auth");
module.exports = async function (context, req, verifyJWT) {
context.log("JavaScript HTTP trigger function processed a request.");
const { userId } = context.bindingData;
console.log("Getting from the localhostlink: ", userId);
if (!userId) {
req.status(404).json(response.error([], `User ID must put!`));
return;
}
try {
const database = new Database(config);
const user = await database.findID(userId);
context.res = {
status: 200,
headers: {
"Content-Type": "application/json",
},
body: response.success(
user,
`Successfully going into the MS Sql server to get login information.`
),
};
database.disconnect();
} catch (err) {
context.res = {
status: 500,
headers: {
"Content-Type": "application/json",
},
body: `${err.message}`,
};
}
};
请问你能帮助我如何调用中间件在azure函数的JWT令牌?谢谢你。
1条答案
按热度按时间e4eetjau1#
下面是使用Node.js在azure函数中检查验证JWT令牌的代码:
**输出:**x1c 0d1x
注:
func start
命令在本地执行此操作,则不会使用Azure Function应用服务的身份验证功能,并且使用此MSDOC将忽略任何用于授权的JWT令牌验证(签名、iss、exp、AUD)。