【发布时间】:2019-11-16 18:16:45
【问题描述】:
我需要在浏览器中存储访问/刷新令牌。 我读到将 AT 和 RT 存储在 localStorage 或 sessionStorage 中是不安全的。 如果我将 AT 和 RT 存储在 localStorage 中,我将实施安全步骤来防止 XSS 攻击。把它存放在那里安全吗? 谢谢
【问题讨论】:
标签: javascript oauth-2.0 xss access-token refresh-token
我需要在浏览器中存储访问/刷新令牌。 我读到将 AT 和 RT 存储在 localStorage 或 sessionStorage 中是不安全的。 如果我将 AT 和 RT 存储在 localStorage 中,我将实施安全步骤来防止 XSS 攻击。把它存放在那里安全吗? 谢谢
【问题讨论】:
标签: javascript oauth-2.0 xss access-token refresh-token
您可以将令牌存储在本地存储中,只要在将页面返回给客户端之前清理客户端数据即可。
示例:客户请求页面/user/?name=<script>[malicious script which wants to steal stored tokens]</script>。服务器应在将页面返回给客户端之前转义 < 和 > 字符(例如,将 < 替换为 &lt 和 > 替换为 &gt)。所以一旦客户端收到页面,脚本就不会执行。
查看这篇文章以获得深入的解释:https://www.checkmarx.com/2017/10/09/3-ways-prevent-xss/
【讨论】: