从标记头中删除“Bearer”而不实现自定义身份验证方案或解析令牌?

时间:2018-05-31 14:24:16

标签: mongodb mongoose oauth oauth-2.0 bearer-token

目前正在使用JWT身份验证架构,其中令牌具有“承载:在架构中。是否可以删除”承载“前缀,因此我不需要在客户端添加它只是为了解析它后端又有吗?有没有办法在不实现自定义方案的情况下这样做(所以仍然使用Bearer方案)并且不必解析“Bearer:”文本的实际令牌?

现在,代码如下:

var token = req.headers.authorization;
var newToken = token.replace("Bearer ", "");
jwt.verify(newToken, jwtSecret, function (err, success) {
 if (err) {
  return res.
          status(401).
          end('Unauthorized, invalidtoken');
 } else {
  return next();
 }
})

理想情况下,它将如此实施:

var token = req.headers.authorization;
jwt.verify(token, jwtSecret, function (err, success) {
 if (err) {
  return res.
          status(401).
          end('Unauthorized, invalidtoken');
} else {
  return next();
}
})

这可以吗?从jwt授权标题中删除“Bearer”会有什么影响?

由于

1 个答案:

答案 0 :(得分:1)

在格式化请求标头时,删除Bearer令牌没有程序性差异。如果您选择这样做,则违反了RFC和HTTP标准。这就像在GET响应中发送有效负载并将数据保存到数据库中一样。

使用源自Oauth设计的承载令牌,因此请查看此处的标准。