当前位置: 首页 > 知识库问答 >
问题:

在不实施自定义身份验证方案或解析令牌的情况下从令牌头中删除“承载者”?

上官华池
2023-03-14

目前正在使用一个JWT身份验证模式,其中令牌在模式中有“Bearer:Bearer”。是否可以删除“Bearer:Bearer”前缀,这样我就不需要在客户端添加它,以便在后端再次解析它?有没有一种方法可以做到这一点,而无需实现自定义方案(因此仍然使用Bearer scheme),也无需解析“Bearer: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授权头中删除“承载人”意味着什么?

谢啦

共有1个答案

南宫正阳
2023-03-14

在格式化请求头时,删除承载令牌与删除承载令牌没有编程上的区别。如果你选择这样做,你就违反了RFC和HTTP标准。这就像在GET响应中发送有效负载并将数据保存到数据库一样。

使用源自Oauth设计的无记名代币,因此请查看此处的标准。

 类似资料:
  • 我正在尝试在ASP.NET5中实现OAuth承载令牌身份验证,并且正在努力寻找一个如何实现这一点的示例,因为OWIN的东西在ASP.NET5中发生了变化。 例如IApplicationBuilder.UseOAuthAuthorizationServer()和IApplicationBuilder。UseOAuthBearerAuthentication()要么不再存在,要么缺少引用? 如有任何指

  • 我正在尝试在Dropwizard web应用程序中实现OAuth2身份验证。我已经创建了所需的<code>验证器 我所需的行为是,在我的客户端通过在我的登录页面上提供他/她的凭据登录后,我想将客户端重定向到我使用Dropwizard Views创建的问候语页面,并且路径为“/me”,如下所示: 我的问候资源如下所示: 目前,我得到一个“访问此资源需要凭据。”登录后的响应。在阅读了一些关于令牌认证的

  • 我有一个LaravelAPI(实际上是LumenAPI)服务于VueJS前端。Vue应用程序允许用户登录到谷歌。然后将Google令牌发送回Lumen API,后者使用Google验证令牌,然后验证电子邮件地址是否为有效用户。然后它生成一个令牌,与用户一起存储在数据库中,并返回用户对象。 我没有使用Passport或jwt auth之类的东西。那么现在,我如何使用默认的Auth中间件来验证(现在已

  • 经过大量阅读,我找到了一种实现自定义JWT承载令牌验证器的方法,如下所示。 : 自定义验证器类: 如果令牌被盗,我想添加一个额外的安全层来验证请求是否来自生成令牌的同一个客户端。 问题: 是否有任何方法可以访问类中的,以便根据当前客户端/请求者添加自定义验证 我们是否有其他方法可以使用这种方法/中间件验证请求者的真实性

  • 我试图使用Spring cloud Oauth2实现Oauth-2.0-Cookbook一书中的示例。 我设法实现了他的功能,但不幸的是,我面临一个问题:为了进行成功的调用,我必须提供基本的身份验证凭据(): Github源 我喜欢在POST请求撤销令牌时进行某种身份验证的想法,但我不认为Angular SPA应用程序应该始终保留用户名和密码,以便成功调用。 一般情况下,Google上的解决方案只

  • 我已经阅读了这个问题的公认答案,并创建了一个自定义令牌、过滤器和身份验证提供程序。 问题: 当我尝试“获取/登录”时: null 最后,安全配置: