在网址中提供jwt令牌是一个好主意吗?

Rah*_*ner 0 security authentication rest jsonp jwt

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

通过这篇文章,我对它的安全性有了一些了解。

将jwt用作GET请求的查询参数是否安全?

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

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

非常感谢。

Dun*_*can 5

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

同样,如果您将令牌放入URL中,并且URL与其他用户共享,则在令牌到期之前,您可以访问该资源。如果带有令牌的URL曾经出现在地址栏中,因为有人可能只是复制/粘贴它,这将尤其重要。

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

一个更好的传递它的地方应该是Authorization标题。然后它将不会被记录。例如

Authorization: Bearer <token goes here>
Run Code Online (Sandbox Code Playgroud)