JWT 在未经身份验证的端点上进行 CSRF 保护?
Posted
技术标签:
【中文标题】JWT 在未经身份验证的端点上进行 CSRF 保护?【英文标题】:JWT for CSRF protection on unauthenicated endpoints? 【发布时间】:2015-02-11 21:01:08 【问题描述】:我有很多 api 端点,我想保护它们免受 CSRF 的影响。我想以一种无状态的方式来做这件事,所以自然会想到 JWT。
问题是,这些端点不需要用户登录。
所以,我的问题是,我可以使用 JWT,但我无法在服务器端验证令牌——我没有可以匹配的登录用户。
在这种情况下有什么方法可以使用 JWT 吗?
【问题讨论】:
【参考方案1】:CSRF 仅对浏览器隐式验证请求(cookie 或基本验证)的请求存在问题。但如果您没有任何身份验证,任何网站都可能调用您的 API。
所以,如果我对您的理解正确,您正在寻找一种方法来确保对您的 API 的请求来自您的网络应用程序。
看看 OAuth 2.0 中的client credentials grant。它基本上发出一个令牌来验证应用程序而不是用户。
【讨论】:
以上是关于JWT 在未经身份验证的端点上进行 CSRF 保护?的主要内容,如果未能解决你的问题,请参考以下文章
静默刷新在 OPTIONS 预检上进行身份验证,但不在 GET 到 UserInfo 端点上进行身份验证