JWT令牌始终公开给客户端,无论它存储在localStorage
还是cookies
中。我读到某处通过套接字(socket.io)
中的查询参数发送jwt令牌是一个坏主意,但是为什么呢?令牌没有密码,我只是看不到它如何引起安全问题,客户端jwt令牌不是一直存在吗?
答案 0 :(得分:1)
是的,通常可以通过cookie或本地存储在客户端访问JWT令牌。它们通常包含低风险信息,例如“联系信息”或基本用户详细信息,因此不会涉及太多安全风险。
关于通过Socket.io中的查询字符串传递它,尽管可能不会带来太大的风险,但与最佳做法相反的是,它以可读的方式包括任何用户信息(例如查询参数)都包括在内。
如果您好奇的话,本文也有类似的观点和更好的解决方案:
https://facundoolano.wordpress.com/2014/10/11/better-authentication-for-socket-io-no-query-strings/