我需要在我们的应用程序中进行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来查看某些特定需求。
非常感谢。
答案 0 :(得分:4)
如果它是查询参数的一部分,而不是它进入Web服务器日志文件,也是(如果不是https)任何中间代理服务器的日志。如果任何人都可以访问这些日志,那么他们可以重新使用您的令牌。如果jwt的到期时间相当短,这可能无关紧要,但如果它有很长的到期时间,则可能很重要。
此外,如果您将令牌放在URL中并且URL与另一个用户共享,那么在它到期之前您可以访问该资源。如果带有令牌的URL出现在地址栏中,因为有人可能只是复制/粘贴它,这尤其重要。
JWT通常不加密,只是签名。这意味着任何人都可以从令牌中提取信息,即使它已经过期。这意味着如果他们掌握旧日志,他们就会记录哪个用户访问了哪些内容,他们也可以收集个人数据,如电子邮件。
传递它的更好位置是Authorization
标题。然后它将不会被记录。 e.g。
Authorization: Bearer <token goes here>