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