REST API中的CSRF令牌,带有身份验证

Zag*_*g.. 5 authentication rest restful-authentication csrf http-headers

我理解CSRF令牌保护的目的.

但是,我认为这种保护是无用的,我们应该在REST API的情况下删除它,在每个操作的标头中都需要一个身份验证令牌.

这样,即使Mallory伪造了与Alice的恶意HTML链接,也无法进行攻击.原因是:

Alice将她的身份验证信息保存在Mallory不知道的标题密钥中.与cookie不同,Alice的浏览器不会自动提交此身份验证令牌.

因此,在这种情况下,我想让您对这个问题有所了解:我们可以从这种API设计中删除CSRF令牌保护吗?

Mvd*_*vdD 6

是的,使用承载方案身份验证时不需要CSRF保护,因为浏览器不会自动将Authorization标头添加到请求中.

您确实需要对cookie,基本,Windows,摘要和客户端证书身份验证方案进行CSRF保护,因为这些是浏览器自动添加的.

另请参阅Dominick Baier关于隐式与显式身份验证的文章:http://leastprivilege.com/2015/04/01/implicit-vs-explicit-authentication-in-browser-based-applications/