将 jwt 暴露给客户端可能会导致安全问题
Posted
技术标签:
【中文标题】将 jwt 暴露给客户端可能会导致安全问题【英文标题】:exposing jwt to client can cause security issue 【发布时间】:2019-02-24 05:41:35 【问题描述】:JWT 令牌始终暴露给客户端,无论是存储在localStorage
还是cookies
。我在某处读到通过套接字(socket.io)
中的查询参数发送 jwt 令牌是一个坏主意,但为什么呢?令牌没有密码,我只是不明白它如何导致安全问题,客户端jwt令牌不是一直存在吗?
【问题讨论】:
【参考方案1】:您是对的,JWT 令牌通常可以通过 cookie 或本地存储在客户端访问。它们通常包含低风险信息,例如“联系信息”或基本用户详细信息,因此不会涉及太多安全风险。
至于通过 Socket.io 中的查询字符串传递它,尽管它可能不会有太大的风险,但以可读的方式包含任何用户信息(例如查询参数)违反了最佳实践。
如果你好奇,这篇文章有类似的观点和更好的解决方案:
https://facundoolano.wordpress.com/2014/10/11/better-authentication-for-socket-io-no-query-strings/
【讨论】:
以上是关于将 jwt 暴露给客户端可能会导致安全问题的主要内容,如果未能解决你的问题,请参考以下文章