gpt4 book ai didi

node.js - 使用 NodeJS 验证 JWT token 字符串,其中包含 'Bearer '

转载 作者:搜寻专家 更新时间:2023-10-31 22:28:01 26 4
gpt4 key购买 nike

我以推荐的形式发送标题 Authorization: Bearer <token> .

看起来是token字符串,也就是'Bearer <token>' , 不是 token ,但需要 'Bearer '首先要删除的子字符串以获得 token 字符串本身。

我想知道,从代码中手动删除它是否是一种常规做法,如下所示:

const token = authHeaderValue.replace('Bearer ', '')

在解码和验证之前?

为什么我需要这个 'Bearer '我的自定义应用程序中的字符串?

最佳答案

我使用这种技术。

// Header names in Express are auto-converted to lowercase
let token = req.headers['x-access-token'] || req.headers['authorization'];

// Remove Bearer from string
token = token.replace(/^Bearer\s+/, "");

if (token) {
jwt.verify(token, config.secret, (err, decoded) => {
if (err) {
return res.json({
success: false,
message: 'Token is not valid'
});
}
req.decoded = decoded;
next();
});
} else {
return res.json({
success: false,
message: 'Token not provided'
});
}

在这里,我们使用正则表达式剥离 JWT 前面的任何 Bearer 字符串。如果包含任何空格,它也会被删除。

关于node.js - 使用 NodeJS 验证 JWT token 字符串,其中包含 'Bearer ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39992774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com