在url中提供jwt令牌是个好主意吗?

时间:2018-03-23 16:04:24

标签: rest security authentication jwt jsonp

我需要在我们的应用程序中进行JSONP REST调用。为了进行身份验证,我必须在URL中提供JWT令牌。

我通过这篇文章了解了它的安全性方面。

Is it safe to put a jwt into the url as a query parameter of a GET request?

但是,我想更多地了解如何以更安全的方式向JSONP提供JWT令牌。

我可能无法提供有关我的应用的更多详细信息,但请相信我,我们无法使用JSONP来查看某些特定需求。

非常感谢。

1 个答案:

答案 0 :(得分:4)

如果它是查询参数的一部分,而不是它进入Web服务器日志文件,也是(如果不是https)任何中间代理服务器的日志。如果任何人都可以访问这些日志,那么他们可以重新使用您的令牌。如果jwt的到期时间相当短,这可能无关紧要,但如果它有很长的到期时间,则可能很重要。

此外,如果您将令牌放在URL中并且URL与另一个用户共享,那么在它到期之前您可以访问该资源。如果带有令牌的URL出现在地址栏中,因为有人可能只是复制/粘贴它,这尤其重要。

JWT通常不加密,只是签名。这意味着任何人都可以从令牌中提取信息,即使它已经过期。这意味着如果他们掌握旧日志,他们就会记录哪个用户访问了哪些内容,他们也可以收集个人数据,如电子邮件。

传递它的更好位置是Authorization标题。然后它将不会被记录。 e.g。

Authorization: Bearer <token goes here>