如果使用 JWT,我需要 CSRF 吗?

Posted

技术标签:

【中文标题】如果使用 JWT,我需要 CSRF 吗?【英文标题】:Would I need CSRF if using JWT? 【发布时间】:2015-09-01 13:14:41 【问题描述】:

我已经设置了一个使用 JWT 身份验证进行用户登录的单页网站。 它使用 angularjs 和 ui-router 来导航页面。

我是否也需要 CSRF 保护,或者我可以只使用 JWT 令牌来保护仅限管理员的区域吗?

【问题讨论】:

【参考方案1】:

单页应用程序通常允许用户登录并使用生成的 JWT 令牌调用具有承载方案身份验证的 REST API。

应用程序框架页面(html/javascript/CSS 等)的加载通常是不安全的(因为这些文件不包含敏感数据)。浏览器不会自动将不记名令牌添加到页面请求中。

如果您想保护您的 HTML 和 JavaScript 页面,您可以使用基于 cookie 的身份验证,因为 cookie 会自动添加到浏览器的请求中。

【讨论】:

以上是关于如果使用 JWT,我需要 CSRF 吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 JWT 作为反 CSRF 令牌吗

JWT + cookie + HTTPS + CSRF

如果我使用 Ejabberd 身份验证和 JWT,我不需要注册用户吗?

反应形式 CSRF 安全

JWT 和防伪令牌

如果我使用基于令牌的身份验证,我还需要会话吗