【发布时间】:2019-06-22 01:42:09
【问题描述】:
我正在尝试使用 express 为 node.js api 编写身份验证系统。我注意到,如果我要使用 JWT 作为身份验证令牌,我有两个选择...
1.) 将令牌存储在 cookie 中,并添加 CSRF 保护。
2.) 让客户端在 Auth Header 中发送令牌并添加 XSS 保护。
我的问题是,将身份验证令牌存储在 cookie 中并让客户端将其发送到身份验证标头中以进行身份验证有什么好处?这样,如果由于某种原因 CSRF 保护失败,如果标头中没有身份验证令牌,则请求将失败。此外,如果 XSS 保护失效,请求仍需要 cookie 中的身份验证令牌。我想我的想法是这会提供更多的保护,它失败的唯一方法是通过成功的 XSS 攻击,然后是成功的 CSRF 攻击。
后续问题:CSRF 令牌是针对 CSRF 攻击的全面证明保护技术吗?
【问题讨论】:
标签: node.js authentication jwt xss csrf