在URL中传递JWT以验证用户是否安全?

时间:2017-09-09 17:25:58

标签: security https jwt

我当前的架构基于LDAP + JSON Web令牌身份验证,我通过这种方式通过URL传递令牌: https://myHostApp?jwt={myToken}

这样做是否安全,或者我应该以另一种方式通过令牌? 假设SSL已启用。

2 个答案:

答案 0 :(得分:3)

我不同意接受的anwser。 可以说使用HTTPS可以防止数据泄露。但是,如果在查询字符串中设置了令牌,则可以实现许多攻击。例如:

  • 使用浏览器历史记录
  • 使用透明代理

此外,每个Web服务器都会记录访问请求,因此,如果攻击者在您的服务器上获得访问权限,则所有令牌都将可用。

即使是RFC6750(OAuth2承载令牌使用)也不建议使用此传输模式。

  

不要在页面网址中传递持票人令牌:持票人令牌不应该是         传入页面URL(例如,作为查询字符串参数)。         相反,承载令牌应该在HTTP消息头或传递中传递         采取保密措施的信息机构。         浏览器,Web服务器和其他软件可能不够充分         浏览器历史记录,Web服务器日志等中的安全URL         数据结构。如果在页面URL中传递了承载令牌,         攻击者可能会从历史数据,日志,         或其他无担保的地点。

请注意,RFC6750是指OAuth2 Framework协议,但不限于此,应考虑Web上下文中的每个令牌传输。

答案 1 :(得分:1)

你应该在每个请求中在标题中传递令牌。