将jwt暴露给客户端可能会导致安全问题

时间:2018-09-20 01:21:24

标签: node.js reactjs socket.io jwt

JWT令牌始终公开给客户端,无论它存储在localStorage还是cookies中。我读到某处通过套接字(socket.io)中的查询参数发送jwt令牌是一个坏主意,但是为什么呢?令牌没有密码,我只是看不到它如何引起安全问题,客户端jwt令牌不是一直存在吗?

1 个答案:

答案 0 :(得分:1)

是的,通常可以通过cookie或本地存储在客户端访问JWT令牌。它们通常包含低风险信息,例如“联系信息”或基本用户详细信息,因此不会涉及太多安全风险。

关于通过Socket.io中的查询字符串传递它,尽管可能不会带来太大的风险,但与最佳做法相反的是,它以可读的方式包括任何用户信息(例如查询参数)都包括在内。

如果您好奇的话,本文也有类似的观点和更好的解决方案:

https://facundoolano.wordpress.com/2014/10/11/better-authentication-for-socket-io-no-query-strings/